Laravel Elixir includePaths не работает

Я пробую Laravel Elixir и хочу включить загрузчик с помощью includePaths, но он не работает. Куда я иду не так?

var paths = {
'bootstrap': './vendor/bower_components/bootstrap-sass-official/assets/'
}

elixir(function(mix) {
mix.sass("style.scss", 'public/assets/css/', {includePaths: [paths.bootstrap + 'stylesheets/']})
});

3

Решение

Я не уверен, есть ли причина, по которой вы хотите включить includePaths в свой файл gulpfile, но для начальной загрузки вам это не нужно. Путь включения начальной загрузки уже настроен из коробки в / node_modules / laravel-elixir / ингридиенты:

elixir.extend('sass', function(src, output, options) {

options = _.extend({
outputStyle: inProduction ? 'compressed' : 'nested',
includePaths: [elixir.config.bowerDir + "/bootstrap-sass-official/assets/stylesheets"]
}, options);

return compile({
compiler: 'Sass',
pluginName: 'sass',
pluginOptions: options,
src: src,
output: output,
search: '**/*.+(sass|scss)'
});
});

Так что все, что вам нужно сделать, это в вашем gulpfile:

elixir(function(mix) {
mix.sass("style.scss");
});

И тогда в вашем стиле .scss:

@import "bootstrap";

Я думаю, что вы должны установить свой файл .bowerrc на:

{
"directory": "vendor/bower_components"}

но похоже, что вы уже сделали это.

0

Другие решения

Я знаю, что у этого уже есть принятый ответ, но я получил что-то вроде этого, чтобы работать.

var paths = {
'bootstrap': '/bower_components/bootstrap-sass/assets/',
}

elixir(function (mix) {
mix.sass('app.scss', 'public/css', {
includePaths: [
__dirname + paths.bootstrap + 'stylesheets/'
]
});

mix.version("css/app.css");
});

куда bower_components устанавливается в корневой директории laravel.

(От: https://laracasts.com/discuss/channels/requests/gulpfile-elixir-merge-scss-includepaths)

0

Другое решение использует эту строку для компиляции sass или меньшего количества файлов, находящихся в папке вашего поставщика:

mix.less("../../../vendor/twbs/bootstrap/less/bootstrap.less");

Примечание: я использовал «composer Требуется twbs / boostrap», чтобы получить полный пакет. Не нужна беседка.

Редактировать:

Я вывожу скомпилированный файл CSS в папку ресурсов, чтобы объединить его с другими файлами CSS:

mix.less("../../../vendor/twbs/bootstrap/less/bootstrap.less", 'resources/css');mix.styles([
"bootstrap.css"], 'public/css/app.css');
-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector