首页 文章

如何为Broccoli中的环境设置不同的Compass配置选项?

提问于
浏览
1

我目前正在使用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的本地所需路径

How do I have environment specific Compass options for the httpPath when building image asset paths?

1 回答

  • 1

    使用 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();
    

    我希望它有所帮助

相关问题