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

Dav*_*han 8 sass ember.js ember-cli broccolijs

我正在使用ember-cli-sass

我想根据env变量定义一些sass变量.

我的theme1.scss文件

@if 'theme1' == process.env.THEME {
  $color-secondary: #eee;
  $color-primary: #ff0;
}
Run Code Online (Sandbox Code Playgroud)

我如何将我的env发送到西兰花构建过程

以及如何在sass脚本中访问env变量?

Dav*_*han 10

跟踪码回直通余烬-CLI-SASS模块到基椰菜SASS代码后,我发现,我们可以通过功能sassOptions到SASS.

var sass = require('node-sass');
var app = new EmberApp({

  sassOptions: {
    functions: {
      variable: function () {
        return new sass.types.String(process.env.VARIABLE);
      }
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

然后我们可以将它用作sassScript中的方法

@if variable() == 'foo' {
   ...
}
Run Code Online (Sandbox Code Playgroud)

  • 我希望它能帮助别人.我浏览github搜索变量'sass'的含义,这对我有用:`var sass = require(process.sass.getBinaryPath(true));` (2认同)