上篇分享了利用process.env来配置NodeJS项目运行环境,但是在配置package.json启动时还是有点问题。为了适应 Linux 和 Windows 系统使用我们分别用export NODE_ENV=development 和 SET "NODE_ENV=development" 来设置NODE_ENV,但是在Windows运行Node项目的时候会提示:'export' 不是内部或外部命令,也不是可运行的程序或批处理文件。export NODE_ENV=development是Linux中定义环境变量的,虽然在Windows无法识别但是不影响项目运行。
这里需要注意的是在Windows上设置NODE_ENV直接在JavaScript中使用set NODE_ENV=development你会发现NODE_ENV值为undefined,所以这里我们需要使用"进行字符转义。
如果你想使用NODE_ENV=development这里我们可以借助一个插件cross-env,这是一个可以跨平台设置和使用环境变量的脚本。利用cross-env命令我们就不用配置不同平台设置或使用环境变量,也可以屏蔽'export' 不是内部或外部命令提示。cross-env安装非常简单,npm install --save-dev cross-env直接搞定。安装cross-env之后我们就不需要再针对不同的操作系统设置不同的配置,只要在NODE_ENV前面加上cross-env标志,程序就会根据当前系统类型自动给NODE_ENV赋值。
使用npm run script执行脚本的时候会创建一个shell,然后在shell中执行指定的脚本。而package.json文件的script对象中每一个属性都是一个自定义的脚本命令,在命令行中可以通过执行npm run script来执行这段脚本。shell会将当前项目的node_modules/.bin子目录加入PATH变量,这样该目录下的脚本就可以直接用脚本名调用而不必加上路径。脚本执行结束后,会将PATH变量恢复到原样。
cross-env是个简单好用的工具,我们不用担心跨平台的问题 。以上内容是小编给大家分享的【Node实战010:cross-env配置跨平台启动环境】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
页面更新:2024-05-15
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号