Node项目使用egg框架,几个环境(开发、测试和生产)的具体配置

新手上路,请多包涵

配置过程中,出现了各种问题,没有配置成功。不贴代码了,希望大佬们给贴点代码提示提示。

阅读 7.5k
1 个回答
✓ 已被采纳新手上路,请多包涵

首先参考官方文档(参考一参考二),配置config文件夹下的文件

config.local.js  —> 本地开发环境配置
config.test.js  —> 测试环境
config.prod.js  —> 生产环境

修改package.json文件

  "scripts": {
    // 开发环境
    "dev": "egg-bin dev --port 8001 --title=dev",
    // 生产环境
    "start": "egg-scripts start --env=prod --daemon --port=8000 --title=prod",
    "stop": "egg-scripts stop --title=prod",
    // 测试环境
    "start_test": "egg-scripts start --env=test --daemon --port=8001 --title=test",
    "stop_test": "egg-scripts stop --title=test",
    "restart_test": "npm run stop_test && npm run start_test"
  }

启动

//开发
npm run dev
//测试
npm run start_test
//生产
npm start

重启

//开发
Ctrl + C 然后 npm run dev
//测试
npm run restart_test
//生产
npm restart

停止

//开发
Ctrl + C
//测试
npm run stop_test
//生产
npm stop

注意:坑来了

配置中“--title”的配置,一定要区分开,否则在重启和停止的时候,会将所有进程全部停止;还有命名时候,假如使用下划线,例如:“--title=a_b”,“--title=a_c”,那么在执行重启和停止指令对的时候,会将两个进程全部重启或者停止。将下划线替换成“-”,例如:“--title=a-b”,“--title=a-c”,问题就解决了。
然而,同一目录下以上解决是没问题对的,但是如果是两个项目的话,假如项目一是“--title=a”,项目二是“--title=a-b”,那么项目一如果使用重启或者停止指令,项目二也会受到影响。所以,最好不要用特殊字符区分。

以上纯属个人摸索的结果,如果有不足之处欢迎指正,此处不欢迎装13者的批判。
原文链接

推荐问题