首页 > 其他分享 >package.json 脚本配置使用环境文件

package.json 脚本配置使用环境文件

时间:2024-07-13 17:57:12浏览次数:14  
标签:脚本 staging package -- json production build env mode

脚本使用环境文件

"scripts": {
  "dev": "vite",
  "build:prod": "vite build",
  "build:stage": "vite build --mode staging",
  "preview": "vite preview"
}
  1. dev:运行开发服务器,默认使用 .env.development 文件。

    npm run dev
    
    • 这个脚本没有显式指定 --mode 参数,因此 Vite 会默认使用 development 模式。
    • 加载 .env.development 文件中的环境变量。
  2. build:prod:构建生产环境的应用,默认使用 .env.production 文件。

    npm run build:prod
    
    • 这个脚本没有显式指定 --mode 参数,因此 Vite 会默认使用 production 模式。
    • 加载 .env.production 文件中的环境变量。
  3. build:stage:构建预发布环境的应用,使用 .env.staging 文件。

    npm run build:stage
    
    • 这个脚本显式指定了 --mode staging 参数。
    • 加载 .env.staging 文件中的环境变量。
  4. preview:预览生产环境构建的应用,默认使用 .env.production 文件。

    npm run preview
    
    • 这个脚本没有显式指定 --mode 参数,因此 Vite 会默认使用 production 模式。
    • 加载 .env.production 文件中的环境变量。

如何指定使用哪个环境文件

Vite 会根据 --mode 参数来决定使用哪个环境文件。具体规则如下:

  • 如果没有指定 --mode 参数,Vite 会根据命令的上下文使用默认的模式:

    • vitevite dev:默认使用 development 模式。
    • vite buildvite preview:默认使用 production 模式。
  • 如果指定了 --mode 参数,Vite 会使用对应的模式,并加载相应的环境文件:

    • --mode development:加载 .env.development 文件。
    • --mode production:加载 .env.production 文件。
    • --mode staging:加载 .env.staging 文件。

示例

假设你有以下环境文件:

.env.development

VITE_API_URL=http://localhost:3000/api
VITE_APP_MODE=development

.env.production

VITE_API_URL=https://api.example.com
VITE_APP_MODE=production

.env.staging

VITE_API_URL=https://staging-api.example.com
VITE_APP_MODE=staging

在代码中,你可以通过 import.meta.env 访问这些环境变量:

console.log(import.meta.env.VITE_API_URL);
console.log(import.meta.env.VITE_APP_MODE);

根据你运行的脚本,Vite 会加载相应的环境文件:

  • 运行 npm run dev 时,输出:

    http://localhost:3000/api
    development
    
  • 运行 npm run build:prodnpm run preview 时,输出:

    https://api.example.com
    production
    
  • 运行 npm run build:stage 时,输出:

    https://staging-api.example.com
    staging
    

标签:脚本,staging,package,--,json,production,build,env,mode
From: https://blog.csdn.net/daoshen1314/article/details/140403613

相关文章

  • 解决HBuilder X运行微信小程序模拟器Error: pages.json解析失败
    前言如果已经排查很久了,那这就不是你的问题了,大概率是由于你曾经创建了一个路径,在指定PagePath的时候又指向了这个路径,这个操作本身没有问题。但是,如果你曾经对这个路径修改过了,那编译器就会有问题,来品鉴一下这个错误。16:15:36.772请注意运行模式下,因日志输出、sourcem......
  • C# Newtonsoft.Json 高级用法
    一、基本用法Json.Net是支持序列化和反序列化DataTable,DataSet,EntityFramework和Entity的。下面分别举例说明序列化和反序列化。//序列化DataTableDataTabledt=newDataTable();dt.Columns.Add("Age",Type.GetType("System.Int32"));dt.Columns.Add("Name",Type.Get......
  • 【JavaScript脚本宇宙】创意无限:探索六款热门JavaScript图形库的魅力
    探索JavaScript图形库:深入了解网络操作和数据可视化工具前言在当今数字化时代,数据可视化和网络分析变得愈发重要。JavaScript图形库的出现为开发人员提供了丰富的工具和资源,帮助他们更轻松地创建复杂的网络图形和数据可视化效果。本文将介绍几个流行的JavaScript图形库,包......
  • 免费分享一套SpringBoot+Vue农产品在线销售(在线商城)管理系统【论文+源码+SQL脚本】,
    大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue农产品在线销售(在线商城)管理系统,分享下哈。项目介绍如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统......
  • 解决Microsoft Visual C++ runtime package找不到问题
    使用了Dism++进行电脑清理,不小心选择了下面两个内容:尤其是第二个packagecache绝对不能清空,否则不知道哪个软件就不能运行了,报MicrosoftvisualC++runtime问题.然后再安装各个版本MicrosoftvisualC++redis仍会报同样的问题,死循环了.网上有各种解决方案,有......
  • 主流json解析框架示例
    主流json解析框架示例jackson、gson、fastjson/fastjson2三种主流json解析框架对比●性能:在性能方面,Fastjson通常被认为是最快的JSON解析库,其次是Jackson和Gson,json-lib的性能相对较低。●API和功能:Jackson提供了非常灵活、强大的API,支持各种高级功能,例如树模型、数据绑定、......
  • 【VMware ESXi】使用PowerCLI脚本批量备份ESXi主机的配置文件。
    根据VMwareKB2042141知识库文章,SSH登录到ESXi主机,可以使用下面的命令用于备份和还原ESXi主机的配置文件。但是,这个方法需要手动登录到每个ESXi主机,并通过浏览器链接下载配置文件,显然不是很方便。备份vim-cmdhostsvc/firmware/sync_configvim-cmdhostsvc/firmwar......
  • 使用gzexe加密shell脚本
    使用gzexe加密shell脚本是一个相对简单的过程。以下是具体的步骤:编写你的shell脚本:首先,你需要有一个shell脚本文件,比如myscript.sh。确保脚本可执行:使用chmod命令确保你的脚本文件是可执行的:chmod+xmyscript.sh使用gzexe加密脚本:在终端中,导航到脚本所在......
  • linux-Rsyslog自定义配置json模板
    配置日志接收模板和转发参考:https://www.cnblogs.com/xwupiaomiao/p/17565418.html自定义模板配置文件在主配置文件中添加(rsyslog.conf)include(file=“/etc/rsyslog.d/*.conf”mode=“optional”)方案一在/etc/rsyslog.d/下创建一个配置文件ct3a1.conf#日志模板......
  • 异或二分法盲注脚本分享
    异或二分法盲注脚本#-*-coding:utf-8-*-importrequestsimporttime#目标urlhost="http://localhost/sqli-labs-master/Less-5/?id="#获取数据库名defget_database():globalhostans=''foriinrange(1,......