Как установить различные параметры конфигурации компаса для сред в Broccoli?

В настоящее время я использую плагин ember-cli-broccoli-compass для компиляции моего САСС. Однако у меня возникли проблемы с назначением 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 при построении путей к ресурсам изображения?


person JellyFishBoy    schedule 06.05.2015    source источник


Ответы (1)


С EmberApp.env() вы можете получить текущее окружение. Например:

Запуск ember build возвращает "development", а ember build -prod возвращает "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();

Я надеюсь, что это помогает

person Marcio Junior    schedule 07.05.2015