需求概述
某项目后台使用nodejs和express,前端js需要获取后台的某些配置信息,例如前端需要请求另外一个项目,需要知道它的IP、端口、应用名等信息。
常规做法
- 前端js添加一个“配置文件”:config.js,内容为固定的配置信息,例如
var config = {
"other_app_host": "192.168.100.100",
"other_app_port": "8080",
"other_app_name": "OtherApp",
...
}
- 引入该“配置文件”,即引入config全局变量,js代码中直接使用该变量
这样做有几个问题:
- 前端需要手动引入“配置文件”
- 修改配置项实际上还是修改代码,需要打包、加密
- 如果后台也需要这些配置信息,就需要前后各配置一份,一不小心就可能配置不同步
改良做法
首先,解决前后端统一的问题
目标:前后端使用同一个配置文件。
1. 我们在后台修改config.js文件:

本文介绍了如何通过Express中间件解决前后端配置信息统一、避免硬编码及自动引入配置的问题。首先,将配置文件统一为JSON格式,并在后台修改config.js以读取环境变量。接着,通过修改config.js使配置信息动态读取,避免了每次修改都需要打包和加密。最后,利用cheerio库实现后台操作DOM,使得前端无需手动引入配置信息。进一步的优化包括模块化管理、增加命令行参数、配置文件路径参数以及支持多种配置文件格式。
最低0.47元/天 解锁文章
1223

被折叠的 条评论
为什么被折叠?



