如何为Ember js 添加自定义环境?
How to add a custom environment for Ember js?
我正在使用 Ember.js 2.5.0
并且目前 Ember 似乎仅限于三种环境 development
、test
和 production
。如何添加其他环境,例如 staging
?
我有一个临时服务器,所以我们可以测试我们的应用程序,我想在那里使用不同的配置(与开发配置不同)。有什么解决方法吗?
如 ember-cli documentation 中所述,ember-cli 目前仅限于三种环境。
现阶段最好的解决方法是使用类似 ember-cli-dotenv. Have a look specifically at this part of the readme.
的方法
粘贴在这里以便于参考:
// ember-cli-build.js
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
dotEnv: {
clientAllowedKeys: ['DROPBOX_KEY'],
path: './path/to/.env'
}
});
return app.toTree();
};
DROPBOX_KEY 现在可以根据您的 .env 设置任何内容。
相关SO question.
我遇到了同样的问题,我已经解决了编辑两个文件 environment.js
和 ember-cli-build.js
在 environment.js
中,我添加了另一个 IF 来为新环境设置值:
if(environment === "stage") {
ENV.APP.xxxx = 'stage value'
}
在 ember-cli-build.js
中,我自定义了 fingerprint
的启用或禁用方式。您可以对其他设置执行相同的操作。
module.exports = function(defaults) {
var fingerprintEnabled = false;
var env = process.env.EMBER_ENV || 'development';
switch (env) {
case 'development':
fingerprintEnabled = false;
break;
case 'test':
fingerprintEnabled = false;
break;
case 'production':
case 'stage':
fingerprintEnabled = true;
break;
}
var app = new EmberApp(defaults, {
fingerprint: {
enabled: fingerprintEnabled,
exclude: [...]
}
// Add options here
});
构建应用程序时,我传递了正确的 environment
标志:
ember build --environment=stage
我正在使用 Ember.js 2.5.0
并且目前 Ember 似乎仅限于三种环境 development
、test
和 production
。如何添加其他环境,例如 staging
?
我有一个临时服务器,所以我们可以测试我们的应用程序,我想在那里使用不同的配置(与开发配置不同)。有什么解决方法吗?
如 ember-cli documentation 中所述,ember-cli 目前仅限于三种环境。
现阶段最好的解决方法是使用类似 ember-cli-dotenv. Have a look specifically at this part of the readme.
的方法粘贴在这里以便于参考:
// ember-cli-build.js
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
dotEnv: {
clientAllowedKeys: ['DROPBOX_KEY'],
path: './path/to/.env'
}
});
return app.toTree();
};
DROPBOX_KEY 现在可以根据您的 .env 设置任何内容。
相关SO question.
我遇到了同样的问题,我已经解决了编辑两个文件 environment.js
和 ember-cli-build.js
在 environment.js
中,我添加了另一个 IF 来为新环境设置值:
if(environment === "stage") {
ENV.APP.xxxx = 'stage value'
}
在 ember-cli-build.js
中,我自定义了 fingerprint
的启用或禁用方式。您可以对其他设置执行相同的操作。
module.exports = function(defaults) {
var fingerprintEnabled = false;
var env = process.env.EMBER_ENV || 'development';
switch (env) {
case 'development':
fingerprintEnabled = false;
break;
case 'test':
fingerprintEnabled = false;
break;
case 'production':
case 'stage':
fingerprintEnabled = true;
break;
}
var app = new EmberApp(defaults, {
fingerprint: {
enabled: fingerprintEnabled,
exclude: [...]
}
// Add options here
});
构建应用程序时,我传递了正确的 environment
标志:
ember build --environment=stage