簡體   English   中英

ember-cli-build.js | 根據環境設置西蘭花的參數

[英]ember-cli-build.js | set broccoli's params depending on environmnet

我試圖在谷歌搜索此,但沒有正確的答案,如果我需要這樣做。

這是一個簡單的問題,我有我的ember-cli-build.js

  /*jshint node:true*/
  /* global require, module */
  var EmberApp = require('ember-cli/lib/broccoli/ember-app');

  module.exports = function(defaults) {
    var app = new EmberApp(defaults, {
      storeConfigInMeta: false,
      minifyJS: {
        enabled: false
      },
      minifyCSS: {
        enabled: false
      }
    });

    return app.toTree();
  };

我想根據是在生產環境還是在開發環境中運行ember來更改minifyJS或minifyCSS的值-如何實現?

此答案適用於Ember 2.xx,撰寫於2.15。

ember-cli-build.js您可以執行EmberApp.env()來獲取環境。 您也可以執行process.env.EMBER_ENV但第一個選項位於Ember CLI Docs中 ,所以我個人考慮一下。

例:

  var EmberApp = require('ember-cli/lib/broccoli/ember-app');

  module.exports = function(defaults) {
    var enableMin = (EmberApp.env() === 'production');
    var app = new EmberApp(defaults, {
      storeConfigInMeta: false,
      minifyJS: {
        enabled: enableMin
      },
      minifyCSS: {
        enabled: enableMin
      }
    });


    return app.toTree();
  };

根據EmberCLI docs: 指紋和CDN URL以及app.env屬性也應該可用,並且以下代碼也可以:

module.exports = function (defaults) {

  const app = new EmberApp(defaults, {});

  if (app.env === 'development') {
      // do something specific for dev
  } else if (app.env === 'production') {
      // do something specific for prod
   }
};

注意:為測試目的而構建時, app.env持有"test"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM