制作和查看环境
1. 设置好自己的环境
项目启动
package.json
"scripts": {
"start":"egg-scripts start --env=prod --daemon --port 8081 --title=项目名称必须一致", // 正常当做生产环境来用
"test":"egg-scripts start --env=test --daemon --port 8081 --title=项目名称必须一致"" // 测试环境
"stop": "egg-scripts stop --title=项目名称必须一致",
"dev":"egg-bin dev --port 8081", // 开发环境
}
2.与之配套
使用不同的启动方式调用不同的config文件(
config.{env}.js
)。
注:
egg-scripts start 默认以prod即生产模式启动,官方文档有提到。调用config.prod.js
文件
设置env参数可切换环境。–env=test
即为测试环境,调用config.test.js
文件
也就是说 run 命令中的
--env=xxxx
那么所对应的,配置文件就使用config.xxxx.js
依照官方的逻辑
依照官方的逻辑,我们在项目中如何差异化使用一些设置呢?
1. 设置差异化数据
我以
config.default.js
、config.prod.js
与config.test.js
为例
例如:
// config.default.js 默认 开发环境
config.test = {
key: appInfo.name + "_这是秘密xxxxx",
path: "/www/开发环境上传路劲", // 比如我配置一个测试、生产和开发环境中的上传路劲。
};
// config.test.js 测试环境
config.test = {
key: appInfo.name + "_这是秘密xxxxx",
path: "/www/测试环境上传路劲", // 比如我配置一个测试、生产和开发环境中的上传路劲。
};
// config.prod.js 生产环境
config.test = {
key: appInfo.name + "_这是秘密xxxxx",
path: "/www/生产环境上传路劲", // 比如我配置一个测试、生产和开发环境中的上传路劲。
};
2.配置好了如何在项目使用呢?
只要在项目中,能用
this
的地方。
this.config.test['你定义好的数据key']
// 例如我获取路劲 path
console.log(this.config.test.path);