如何为 Broccoli 中的环境设置不同的 Compass 配置选项?
How to set different Compass configuration options for environments in Broccoli?
我目前正在使用 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 选项?
用EmberApp.env()
可以获取当前环境。例如:
运行 ember build
returns "development"
和 ember build -prod
returns "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();
希望对你有帮助
我目前正在使用 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 选项?
用EmberApp.env()
可以获取当前环境。例如:
运行 ember build
returns "development"
和 ember build -prod
returns "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();
希望对你有帮助