1

我有一个暂存环境,我想在其中设置一组自定义变量来部署我的 Ember.js 应用程序,但我对如何正确执行此操作一无所知。我正在使用 ember-cli-rails gem。根据该文件:

EMBER_ENV:如果在环境上设置,EMBER_ENV 的值将作为 --environment 标志的值传递给 ember 进程。

我只是在如何在“环境”上设置它空白。

/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'在我的部署者用户的 .profile 中设置
  • set :default_env, { 'EMBER_ENV' => 'staging' }在我的/config/deploy/staging.rb文件中设置。
4

1 回答 1

0

不幸的是,ember cli 仅支持测试、开发和生产作为有效环境

ENV 对象包含三个重要的键:

  • EmberENV 可用于定义 Ember 功能标志(请参阅功能标志指南)。
  • APP 可用于将标志/选项传递给您的应用程序实例。
  • environment 包含当前环境的名称(开发、生产或测试)。

有几个非官方的解决方案,其中一些使用ember-cli-deploy和更改基于deployTarget值的设置。其他人用于dotenv管理每个环境设置。

我们目前正在处理这个问题,找不到合适的解决方案。

于 2016-05-17T11:58:12.787 回答