我尝试在google中搜索,但如果我需要,则没有正确的答案。
这是一个简单的问题,我有我的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();
};
我想改变minifyJS或minifyCSS的值,具体取决于我是在生产中运行ember还是开发 - 如何实现?
答案 0 :(得分:1)
此答案适用于Ember 2.x.x,编号为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();
};
答案 1 :(得分:1)
根据EmberCLI文档:Fingerprinting and CDN URLs也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"
。