代码运行环境
开发环境
生产环境
测试环境
-
有的时候,可能需要在 node 代码中根据不同的环境做出不同的处理,如何优雅的让 node 知道处于什么环境,是极其重要的
-
通常使用如下的处理方式:
- node 中有一个全局变量 global (可以类比浏览器环境的 window),该变量是一个对象,对象中的所有属性均可以直接使用;
- global 有一个属性是 process,该属性是一个对象,包含了当前运行 node 程序的计算机的很多信息,其中有一个信息是 env 对象,包含了计算机中所有的系统变量;
- 通常通过系统变量 NODE_ENV 的值,来判定 node 程序处于何种环境;
-
有两种方式设置 NODE_ENV 的值
- 永久设置
- 临时设置
-
一般使用临时设置,因此可以配置 scripts 脚本,在设置好了 NODE_ENV 后启动程序,为了避免不同系统的设置方式的差异,可以使用第三方库 cross-env 对环境变量进行设置;
-
示例代码
var a = "没有环境变量"; console.log(process.env.NODE_ENV); if(process.env.NODE_ENV === "development"){ a = "开发环境" } else if(process.env.NODE_ENV === "production"){ a = "生产环境" } else if(process.env.NODE_ENV === "test"){ a = "测试环境" } console.log(a);
在 node 中读取 package.json
-
有的时候,可能在 package.json 中配置一些自定义的字段,这些字段需要在 node 中读取;
-
在 node 中,可以直接导入一个 json 格式的文件,它会自动将其转换为 js 对象;
// 读取 package.json 文件中的版本号 var config = require("./package.json") console.log(config.version)
npm👉 npm 脚本
上一篇