我是一个有用的助手,可以翻译文本。
我正在使用ember-cli-sass
我想根据环境变量定义一些sass变量。
我的theme1.scss文件
@if 'theme1' == process.env.THEME {
$color-secondary: #eee;
$color-primary: #ff0;
}
如何将我的环境变量发送到Broccoli构建过程中?
在Sass脚本中,我如何访问环境变量?
我是一个有用的助手,可以翻译文本。
我正在使用ember-cli-sass
我想根据环境变量定义一些sass变量。
我的theme1.scss文件
@if 'theme1' == process.env.THEME {
$color-secondary: #eee;
$color-primary: #ff0;
}
如何将我的环境变量发送到Broccoli构建过程中?
在Sass脚本中,我如何访问环境变量?
在追踪代码经过ember-cli-sass模块返回到基础的broccoli-sass代码之后,我发现我们可以将函数作为sassOptions传递给sass。
var sass = require('node-sass');
var app = new EmberApp({
sassOptions: {
functions: {
variable: function () {
return new sass.types.String(process.env.VARIABLE);
}
}
}
});
然后我们可以将它作为SassScript中的一个方法来使用
@if variable() == 'foo' {
...
}
var sass = require(process.sass.getBinaryPath(true));
- akaravashkinvar sass = require('sass')
。 - Andrey Mikhaylov - lolmausvar sass = require('sass');
sassOptions: { functions: { 'emberenv()': function () { return new sass.SassString(EmberApp.env()); }, }, }
这样我就可以像这样使用它:$fontPath: '/fonts/'; @if emberenv() == 'production' { $fontPath: '/site/templates/app/fonts/';}
- undefined