私は単一ページのアプリを作成しており、requirejs でバックボーンを使用しています。ここで、環境変数に応じてさまざまな構成を含めたいと考えています。これを行う方法とベストプラクティスがわかりません。
3 つの異なる構成ファイルがあります。
config.js
: これにより、共通の構成が保持されます。
config.dev.js
: これにより、開発環境固有の構成が保持されます
config.production.js
: これにより、本番固有の構成が保持されます
環境固有のモデルから構成モデル (config.js 内) を拡張しており、他のモジュールから構成モデルを必要としています。これは正常に機能しますが、開発用と運用用の両方の構成ファイルをダウンロードしています。config.dev.js または config.production.js の両方ではなく、どちらかのみをロードします。
// config.js
define([
'backbone',
'modules/config/config.dev',
'modules/config/config.production'
], function(Backbone, DevConfig, ProdConfig) {
// Select environment model
EnvConfig = (ENV == 'dev') ? DevConfig : ProdConfig;
var ConfigModel = EnvConfig.extend({
// Extending attributes.
defaults: _.extend({
foo : 'bar'
}, EnvConfig.prototype.defaults)
});
return new ConfigModel();
});
他のモジュールでは、以下のスタイルで Config を使用しています:
define([
'backbone',
'modules/config/config'
], function(Backbone, Config) {
var ProfileModel = Backbone.Model.extend({
urlRoot: Config.get('apiRoot') + '/profiles'
...
});
return ProfileModel;
});
両方ではなく、開発または本番固有の構成ファイルのいずれかをロードする方法は?