我正在尝试在Devlopment,Test和Production环境中搜索管理不同值的最佳方法。
例如,我有变量jsonFile
,可以是:
var jsonFile = http://localhost:63342/json/appsconfig.json
for development env
var jsonFile = http://192.168.35.59/applications/json/appsconfig.json
for test env
var jsonFile = http://example.com/applications/json/appsconfig.json
生产环境
我试图阅读很多关于前端开发堆栈的内容,但我对使用什么工具感到困惑。我将使用Google Closure工具进行缩小,是否也可以切换变量值?或者它可以被认为是一个Grunt任务(即使我无法理解如何正确配置Grunt任务......)?
答案 0 :(得分:1)
更好的方法是将JSON写入JS文件,该文件是构建工件的一部分。类似file-creator的东西可以像这样编写一个文件(使用简单的设置,显然可以使其更具动态性)。
在你的module.exports顶部用于grunt任务,将配置文件加载到var中:
var configData = grunt.file.readJSON('../config/appsconfig.json'),
然后使用grunt file-creator module
写入新的JS文件"file-creator": {
'dev': {
'build/config.js': function (fs, fd, done) {
fs.writeSync(fd,
'var yourSiteHere = yourSiteHere || {}; yourSiteHere.config = '
+ JSON.stringify(configData) + ";"
);
done();
}
}
}
然后将此JS文件加载到页面中(甚至可能使用单独的grunt任务将其缩小)。然后,您就可以像这样引用配置数据:
var apiEndPoint = yourSiteHere.config.api.apiEndPoint,
apiKey = yourSiteHere.config.api.apiKey;