如何为西兰花中的环境设置不同的指南针配置选项



我当前使用Ember-Cli-Broccoli-Compass插件来编译我的Sass。但是,我很难为不同环境的样式表中的图像资产分配HTTP路径。这就是我到目前为止的:

var emberapp = require('ember-cli/lib/broccoli/ember-app');

var app = new EmberApp(
{
    compassOptions: 
    {
        httpPath: 'http://s3-eu-west-1.amazonaws.com/alua/',
        generatedImagesPath: 'http://s3-eu-west-1.amazonaws.com/alua/'
    }
});

构建生产应用程序(ember build -prod)时,它预示了样式表中图像资产的正确S3路径。但是,当使用ember server --proxy http://localhost:3000运行应用程序时,资产是使用S3路径构建的,而不是 http://localhost的本地所需路径:4200

在构建图像资产路径时,我如何具有环境特定的指南针选项?

使用EmberApp.env(),您可以获取当前的环境。例如:

运行ember build返回"development"ember build -prod返回"production"

因此,在最糟糕的情况下,插件不是通过环境提供的提供商选项,您可以做到这一点:

var env = EmberApp.env();
var compassOptions;
if (env === 'development') {
  compassOptions = your dev options;
} else if (env === 'test') {
  compassOptions = your test options;
} else if (env === 'production') {
  compassOptions = your production options;
}
var app = new EmberApp({
  compassOptions: compassOptions
});
module.exports = app.toTree();

我希望它能有所帮助

最新更新