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的本地所需路径构建

在构建图像资产路径时,如何为 httpPath 提供环境特定的 Compass 选项?

4

1 回答 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();

我希望它有帮助

于 2015-05-07T22:37:16.800 回答