如何确定 ember 应用的环境

How to determine the environment of your ember app

如何访问我的 ember 应用程序的环境?我的目标是计算一个名为 isStaging 的 属性 来检查环境是否正在暂存

您不需要计算 属性,但您可以这样做:

import Component from '@ember/component';

import ENV from 'app-name/config/environment';

export default class extends Component {
  isStaging = ENV.environment === 'staging';
}

// or if you're on the old syntax:

export default Component.extend({
  isStaging: ENV.environment === 'staging'
});

这是我让环境检测工作的唯一方法

/config/environment.js

module.exports = function(environment) {
  let ENV = {
    ...
    EmberENV: {
      FEATURES: {
         ...
         DEVELOPMENT: environment === 'development',
         TEST: environment === 'test',
         PRODUCTION: environment === 'production'
     },
     ...
   }
},

然后在项目的任意位置访问环境

import Ember from 'ember';

if(Ember.ENV.FEATURES.DEVELOPMENT) {
    // development
}

if(Ember.ENV.FEATURES.TEST) {
    // test
}

if(Ember.ENV.FEATURES.PRODUCTION) {
    // production
}