如何在 Ember 中为自定义构建环境指定压缩
How to specify compression for custom build environment in Ember
如何为自定义环境的文件名指定压缩、捆绑和添加失效散列?
生产环境会自动压缩和合并文件,并为文件名添加失效哈希。 IE。每当我使用 ember build --environment=production
触发 config/environment.js
中的 if (environment === 'production'){}
案例时
但我想创建和构建一个 QA 环境,该环境还可以压缩文件并将无效散列添加到文件名中。 IE。以下内容还应生成以无效哈希命名的压缩文件(输出与 production
输出相同,但 QA 变量除外,如 URL):
config/environment.js
if (environment === `qa`){
ENV.somevar = 'qa-value'
}
命令
ember build --environment=qa
这是在您项目的 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. Also note that there is an open issue,所以它可能会在未来再次改变。
asset compilation chapter of ember-cli docs 中提供了更多详细信息和选项。
如何为自定义环境的文件名指定压缩、捆绑和添加失效散列?
生产环境会自动压缩和合并文件,并为文件名添加失效哈希。 IE。每当我使用 ember build --environment=production
触发 config/environment.js
if (environment === 'production'){}
案例时
但我想创建和构建一个 QA 环境,该环境还可以压缩文件并将无效散列添加到文件名中。 IE。以下内容还应生成以无效哈希命名的压缩文件(输出与 production
输出相同,但 QA 变量除外,如 URL):
config/environment.js
if (environment === `qa`){
ENV.somevar = 'qa-value'
}
命令
ember build --environment=qa
这是在您项目的 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. Also note that there is an open issue,所以它可能会在未来再次改变。
asset compilation chapter of ember-cli docs 中提供了更多详细信息和选项。