我有一个临时环境,我想为部署我的Ember.js应用程序设置一组自定义变量,而我正在绘制一个如何正确执行此操作的空白。我正在使用ember-cli-rails gem。根据该文件:
EMBER_ENV:如果在环境中设置,则EMBER_ENV的值为 传递给ember进程作为--environment标志的值。
我只是在如何在“环境”上设置它。
/project/frontend/config/environment.js
if (environment === 'test') {
// Testem prefers this...
ENV.baseURL = '/';
ENV.locationType = 'none';
// keep test console output quieter
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
}
if (environment === 'staging') {
ENV.apiHost = '/app-data';
ENV.contentSecurityPolicy = contentSecurityPolicy;
ENV.torii = {
providers: {
'my-custom-oauth2': {
apiKey: '1234123412341234123412341234',
baseUrl: 'http://www.server.com:9108/oauth/authorize'
}
}
};
}
if (environment === 'production') {
ENV.apiHost = '/app-data';
ENV.contentSecurityPolicy = contentSecurityPolicy;
到目前为止我尝试过的事情:
export EMBER_ENV='staging'
set :default_env, { 'EMBER_ENV' => 'staging' }
文件中设置/config/deploy/staging.rb
。答案 0 :(得分:0)
不幸的是,ember cli仅支持测试,开发和生产作为有效环境
ENV对象包含三个重要的键:
- EmberENV可用于定义Ember特征标记(请参阅特征 旗帜指南)。
- APP可用于将标志/选项传递给您的 应用实例。
- 环境包含当前环境的名称(开发,生产或测试)。
有一些非正式的解决方案,其中一些使用ember-cli-deploy
并根据deployTarget
值更改设置。其他人使用dotenv
来管理每个环境设置。
我们目前正在处理这个问题,但找不到合适的解决方案。