Можно ли передавать переменные окружения в Ember cli sass во время сборки?


Я использую ember-cli-sass

Я хочу определить некоторые переменные sass в зависимости от переменной env.

Моя тема1.scss файл

@if 'theme1' == process.env.THEME {
  $color-secondary: #eee;
  $color-primary: #ff0;
}

Как я могу отправить свой env в процесс сборки брокколи

И как я могу получить доступ к переменным env в скрипте sass?

1 7

1 ответ:

После трассировки кода обратно через модуль ember-cli-sass в базовом коде broccoli-sass я обнаружил, что мы можем передавать функции sass в sassOptions.

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' {
   ...
}