关于 Ember 中的自定义构建



如何扩展我的自定义环境(和构建(,例如,从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';

我建议使用ember-cli-deploy。它本质上允许您创建部署"目标",这些目标可以具有不同的环境变量,以及没有的不同环境变量,同时为您提供 Ember 生产版本中包含的缩小文件、指纹识别等的好处。

相关内容

  • 没有找到相关文章

最新更新