javascript - 如何改进多个客户端的配置文件
问题描述
我在 angularjs 中有一个使用 nodejs 的应用程序,我正在寻找一些想法来改进 appConfig 文件的配置在这些文件中,我有一些字段,例如
feature1 = false;
feature2 = false
我正在使用这些值在不同页面上显示/隐藏一些按钮/面板,但我为每个客户端有 1 个配置文件我想减少配置文件的数量或改进它
解决方案
不确定这是否是特定角度的问题,但在我的 Nuxt 项目中,有一个脚本可以在应用程序启动之前生成配置文件。该脚本将生成一个配置文件,其中包含基本配置和一些项目特定选项。也许这种方法会对您有所帮助。
配置/base.js
module.exports = {
api: '/api-path',
someFeature: true,
anotherFeature: true
};
配置/生产.js
module.exports = {
someFeature: false
};
配置/clientOne.js
module.exports = {
anotherFeature: false
};
工具/config.js
const fs = require('fs');
const base = require('../config/base');
const production = require('../config/production');
const dev = require('../config/dev');
const clientOne = require('../config/clientOne');
const clientTwo = require('../config/clientTwo');
let result = Object.assign({}, base);
let map = {
production,
dev,
clientOne,
clientTwo
};
result = Object.assign({}, result, map[ process.env.NODE_ENV ]);
fs.writeFileSync('./static/config.json', JSON.stringify(result));
包.json
{
"scripts": {
"start:production": "cross-env NODE_ENV=production node ./tools/config.js && nuxt start",
"start:dev": "cross-env NODE_ENV=dev node ./tools/config.js && nuxt",
"start:clientOne": "cross-env NODE_ENV=clientOne node ./tools/config.js && nuxt",
"start:clientTwo": "cross-env NODE_ENV=clientTwo node ./tools/config.js && nuxt"
}
}
推荐阅读
- python - 无法使用 Python 和 OpenCV 显示来自 Youtube 的视频
- python - Python - Pairwise intersection of multiple lists, then sum up all duplicates
- perforce - 如何在本地下载p4文件?
- apache-spark - Spark Parallelize withColumn 功能
- javascript - 如何在反应中创建可选择的、可突出显示的文本
- javascript - Angular-Resizable:无法访问“可调整大小”指令的属性
- google-maps-api-3 - 为 Android/iOS Webview 应用程序中使用的 Javascript Maps API 密钥配置应用程序限制
- javascript - Webbrowser 控件 - Consolo.log javascript 错误
- scala - Spark - How to make a map serializable
- apache - 如何在 2 个单独的服务器上运行 2 个定位器