在开发中,常见使用process.env.NODE_ENV
来判断当前为生产环境还是开发环境,值为develop
时为开发环境,为production
时为生产环境。
其实这里的NODE_ENV
和它的值是可以随意命名的,因为它并不是process.env
的原生属性,是人为添加的,因此直接调用无法读取,需要手动添加到process.env
上。
手动添加NODE_ENV
在windows上添加时,需要在启动项目命令前加一句set NODE_ENV=develop
,如下
1 | set NODE_ENV=develop node index.js |
但这仅仅是处在windows平台上,在其他平台上设置方法是不一样的。这时候就要用到本次的主角cross-env
了。
使用cross-env优化
在node启动项目时,在命令前面加一句NODE_ENV=develop
即可生效,如下示例
1 | NODE_ENV=develop node index.js |
通常使用场景是直接将命令添加到package.json
的script
上,如下
1 | { |
这样直接通过num run dev
启动项目,即可获得NODE_ENV的值,为develop