如何为自定义环境指定压缩,捆绑和在文件名中添加无效哈希?
生产环境将自动压缩和合并文件,并在文件名中添加无效哈希。即每当我使用ember build --environment=production
触发if (environment === 'production'){}
的{{1}}情况时
但是我想为QA环境创建和构建,该环境还压缩文件并向文件名添加无效哈希。即以下代码还应生成以无效哈希命名的压缩文件(输出与config/environment.js
相同,但QA变量除外,如URL)
config / environment.js
production
命令
if (environment === `qa`){
ENV.somevar = 'qa-value'
}
答案 0 :(得分:3)
这是在您项目的ember-cli-build.js
文件中配置的。默认情况下,仅在生产环境中启用指纹识别(app.env === 'production'
)。可以通过fingerprint.enabled
选项进行更改。 ember-cli-uglify
适用于JavaScript压缩和minifyCSS
选项。根据需要配置以下选项:
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
let env = EmberApp.env();
let isProductionLike = ['production', 'qa'].includes(env);
let app = new EmberApp({
'ember-cli-uglify': {
enabled: isProductionLike
},
fingerprint: {
enabled: isProductionLike
},
minifyCSS: {
enabled: isProductionLike
},
sourcemaps: {
enabled: !isProductionLike
}
});
return app.toTree();
};
ember-cli-uglify
选项在ember-cli-uglify 1.x中被命名为minifyJS
。该插件已在ember-cli 2.16的默认蓝图中进行了更新。如果您仍在使用ember-cli-uglify@1.x,请相应地更改选项名称。在撰写此答案时,ember-cli文档尚未反映出这一重大变化。引入了here。另外请注意,这里有一个open issue,因此将来可能会再次更改。
asset compilation chapter of ember-cli docs中提供了更多详细信息和选项。