Dan*_*nda 11
我建议您以这样的方式拥有一个文件:
var YourProject = {};
YourProject.Config = {
   Local : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   },
   Dev : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   },
   Production : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   }
}
然后在你的实用程序中有这样的东西:
YourProject.ConfigHandler = {
  getValue : function(key){
    var env;
    switch( window.location.hostname ){
      case "localhost":
      case "127.0.0.1":
        env = 'Local';
        break;
      case "dev.yourdomain.com":
        env = 'Dev';
        break;
      case "yourdomain.com":
        env = 'Production';
        break;
      default:
        throw('Unknown environment: ' + window.location.hostname );
    }
    return YourProject.Config[env][key];
  }
};
因此,您只需要一个文件,对于不同的API DB URL,您只需要调用一行:
YourProject.ConfigHandler.getValue( 'db' );
您的问题可以针对任何 javascript 应用程序,而不仅仅是骨干应用程序,因此以下答案更为笼统:
我所做的就是有一个 config.js 文件,它是 HTML 中加载的第一个文件。内容只是一个带有配置的 JSON 对象:
var CONFIG = {
    debug : false,
    server : 'http://production.foo.com'
};
现在应用程序的每个组件都可以访问配置,因为 CONFIG 是一个全局对象。因此,您可以在应用程序的任何位置编写此代码:
if (CONFIG.debug) {
    console.log('my debug stuff...');
}
诀窍是有 2 个 config.js 文件。一份用于开发,一份用于生产。当您想要发布应用程序时,请捆绑您的生产 config.js 文件并将其上传到您的服务器。
您可以创建构建脚本来构建生产应用程序。第一步,它可以将正确的 config.js 文件复制到正确的位置。您还可以添加步骤来缩小 js 文件,将它们捆绑到一个文件或多个文件中。
| 归档时间: | 
 | 
| 查看次数: | 3331 次 | 
| 最近记录: |