是否可以在构建期间将环境变量传递给 Ember cli sass?

Is it possible to pass environment variables to Ember cli sass during build?

我正在使用 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' {
   ...
}