Blog

Blog

PHODAL

RequireJS Backbone 设置与环境变量

无意中发现在Free Rice CMS中混用了localhost和0.0.0.0,于是想要了设置环境变量的方法。

RequireJS env-config

对于我来说,我只需要在require.config里添加config.js。而在config.js里面则是下面的内容:

define({
    localhost: "http://0.0.0.0:8080"
});

require.config则是

require.config({
    baseUrl: '/',
    paths: {
        "config": 'config'
    }
});

接着在model中引用,如下所示:

"use strict";

define(["backbone", "config"], function(Backbone, config) {
    var CreateAccount = Backbone.Model.extend({
        defaults: {
            name: null,
            email: null,
            password: null
        },
        url: function() {
            return config.localhost + '/account/create';
        }
    });

    return CreateAccount;
});

RequireJS 不同环境变量

在StackOverflow上看到一个答案,方法还不错

window.ENV = 'production'; // or 'dev'
var require = {
  paths: {
    'env-config': 'config.' + window.ENV
  }
};

一开始真没意识到可以这样写。再写一个

config.dev.js

define({
    'env': 'development!'
});

config.production.js

define({
    'env': 'production!'
});

接着我们就可以调用这些值了。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签