node有一个特殊内置环境变量:NODE_ENV,能够从process.env.NODE_ENV中读取到。 当运行npm xx的时候,实际上是执行了一个sh命令,去运行不一样的配置文件,而不一样的配置文件都会去指定本身的NODE_ENV,从而区分是生成环境仍是开发环境。 例如: 文件结构node
在package.json中,scripts配置了不一样的命令最终执行的是哪一个文件:
若是运行npm run build, 就会找到build/build.js去运行这个文件,文件内容:
由此指定环境变量。 其余命令同理,当你运行 npm start 时,NODE_ENV就是'development' ,当你运行 npm test ,NODE_ENV就是 ‘test’。