在javascript应用程序中处理特定于环境的配置

Handling environment-specific configuration in a javascript app

本文关键字:环境 配置 于环境 应用程序 javascript 处理      更新时间:2023-09-26

上下文:使用yeoman构建的单页骨干应用程序

我想有一种方法,有一些应用程序参数取决于我当前的环境(开发vs生产)。

现在我正在使用两个单独的配置文件,并且在部署grunt: userin任务时,我将dev切换到prod:

// index.html
<!-- build:js scripts/config.prod.js -->
<script src="scripts/config.dev.js"></script>
<!-- endbuild -->    
// config.dev.js
window.config = {
    api_host: 'localhost:9393',
    api_key:  'dev_api_key'
}
// config.prod.js
window.config = {
    api_host = 'api.host.tld',
    api_key =  'prod_api_key'
}

这个解决方案可以工作,但是很臭,并且不允许生产和开发之外的任何其他环境。我的替代方案是什么?

试试这个:

var DEV = (window.location.indexOf("DEV=1")) != -1 ? true : false;

然后在URL后面输入?DEV=1

你应该试试grunt- variable task