前言
一般来说:一个好的项目配置应该满足以下条件:
依赖环境:配置根据具体运行环境从相应的文件读取
代码分离:配置项不仅可以从配置文件读取, 也可以从环境变量读取,使得安全隐秘的配置项与代码分离
易于使用:配置项应该是分层配置有助于查找条目和维护庞大的配置文件的,应该是容易组织和容易获取的
在多人开发 nodejs 项目的时候,没有规划好配置方案,配置文件的问题就很容易暴露出来。
痛点
在开发 nodejs 的工程中,遇到过三个痛点
部署环境不同: 开发、测试、生产环境的不同,导致配置的不同
开发环境不同: 开发者的开发环境配置不同,会存在同一个配置文件配置代码不同,影响 git 提交更新
安全问题: 一些配置不应该明文保存在项目代码里面,比如数据库密码
解决方案
部署环境不同
对于部署环境不同,相对容易解决,建立相应环境的配置文件,比如:
开发环境配置:developmentConfig.js
测试环境配置:testConfig.js
生产环境配置:productionConfig.js
再建一个config.js配置文件作为入口获取配置,如下:
module.exports = require(`./${process.env.NODE_ENV}Config.js`)
引用配置的时候,只要引用 config.js 即可。运行命令如下:
NODE_ENV=development node index.js
开发环境不同
对于开发环境不同,导致每个人的developmentConfig.js不同,这个不能要求别人的配置和你的一样,这样项目就太硬了。我们可以把developmentConfig.js添加到.gitignore,从而从项目分离出来,再在readme.md说明如何配置developmentConfig.js。最好是建立一个developmentConfig.example.js,并在文档说明复制成developmentConfig.js后修改配置项符合自己的开发配置。
本文由乐趣区整理发布,转载请注明出处,谢谢。