Просто используйте ember-cli-sass
:
- сначала добавьте его к
includePaths
в вашем ember-cli-build.js
new EmberApp({
sassOptions: {
includePaths: [
'node_modules/flag-icon-css/sass'
]
}
});
используйте его с
@import "flag-icon";
Загляните в readme .
сейчас, пока это успешно добавит скомпилированный вывод sass к вашему /assets/app-name.js
нет автоматического способа добавить какие-либо активы в вашу папку dist
.
В случае flag-icon-css
он просто добавит background-image: url(../flags/4x3/gr.svg);
к вашему dist/assets/app-name.css
, но не добавит svg
сама. Вы можете сделать это вручную с брокколи Funnel
и MergeTrees
:
- установить
broccoli-funnnel
и broccoli-merge-trees
- импортировать их в
ember-cli-build.js
:
const Funnel = require('broccoli-funnel');
const MergeTrees = require('broccoli-merge-trees');
используйте их, заменив
return app.toTree()
в вашем
ember-cli-build.js
на
const flagIcons = Funnel('node_modules/flag-icon-css', { include: ['flags/**/*'] });
return new MergeTrees([app.toTree(), flagIcons]);
, чтобы весь ваш ember-cli-build.js
мог выглядеть так:
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
const Funnel = require('broccoli-funnel');
const MergeTrees = require('broccoli-merge-trees');
module.exports = function(defaults) {
let app = new EmberApp(defaults, {
// Add options here
sassOptions: {
includePaths: [
'node_modules/flag-icon-css/sass'
]
}
});
const flagIcons = Funnel('node_modules/flag-icon-css', { include: ['flags/**/*'] });
return new MergeTrees([app.toTree(), flagIcons]);
};
короткая заметка: я бы обычно рекомендовал помещать ресурсы в папку assets
вашего вывода, но в этом случае это не сработает, поскольку flag-icon-css
ожидает, что папка flags
находится в родительский каталог .css
.