如何扩展自定义环境(和构建),例如从production
进行“登台”?
最终,我想做ember build --environment=staging
,获得“生产”版本+提供的自定义配置所带来的好处和优化。
最佳答案
这比应该做的难,而且不建议这样做,因为我希望提供一些说明可以使之清楚。第一步是使用所需的任何自定义来修改config/environment.js
文件。可能看起来像
if (environment === 'staging') {
//set something
}
但是随后,您必须处理
production
自动带到表中的其他内容。例如,资产的指纹识别仅在生产中完成,因此您必须修改emebr-cli-build.js
以添加一些使staging
像production
的说明。module.exports = function(defaults) {
const env = EmberApp.env() || 'development';
const isProductionLikeBuild = ['production', 'staging'].indexOf(env) > -1;
const app = new EmberApp(defaults, {
fingerprint: { enabled: isProductionLikeBuild },
sourcemaps: { enabled: isProductionLikeBuild },
minifyCSS: { enabled: isProductionLikeBuild },
minifyJS: { enabled: isProductionLikeBuild },
tests: env.EMBER_CLI_TEST_COMMAND || !isProductionLikeBuild,
production
可能还有更多的功能,但是这些是我所知道的。另一个要查找的地方是
config/targets.js
,您会在该行中找到const isProduction = process.env.EMBER_ENV === 'production';
行,该行也需要针对新环境进行更改。关于javascript - 关于Ember中的自定义版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59272409/