在package.json
中,您通常不会直接设置环境变量,因为这个文件主要是用来定义项目的依赖、脚本和配置信息。然而,您可以在package.json
的scripts
部分定义脚本命令,在执行这些命令时设置环境变量。
例如,如果您使用的是Unix-like系统(如Linux或MacOS),可以使用export
命令设置环境变量,然后执行其他命令。如果您在Windows上,则可能需要使用set
命令,或者使用跨平台的解决方案,比如cross-env
。
下面是一个如何在scripts
部分设置环境变量的例子:
json{ "name": "your-package", "version": "1.0.0", "scripts": { "start": "export NODE_ENV=production && node app.js", "start:windows": "set NODE_ENV=production && node app.js" } }
在上面的例子中,我们在start
脚本中设置了NODE_ENV
环境变量为production
,然后执行了node app.js
。
使用cross-env
,您可以写一个跨平台的脚本命令:
json{ "name": "your-package", "version": "1.0.0", "scripts": { "start": "cross-env NODE_ENV=production node app.js" }, "devDependencies": { "cross-env": "^7.0.3" } }
在这个例子中,不管您在什么操作系统上,start
脚本都会设置NODE_ENV
环境变量为production
,然后运行node app.js
。注意,您需要先安装cross-env
作为开发依赖(使用命令npm install --save-dev cross-env
)。
这种方式是非常灵活的,允许您在不同的环境(开发、测试、生产等)中运行不同的命令。记住,这里设置的环境变量只会在脚本运行时存在,脚本执行完毕后,这些环境变量不会影响到其他的shell进程。