В настоящее время мой каталог resources/assets
структурирован немного иначе, чем обычно, так как я хочу иметь несколько «тем» в своем проекте.
В настоящее время у меня есть следующие структуры:
resources/assets/theme-one/scss/*
resources/assets/theme-one/coffee/*
И
resources/assets/theme-two/scss/*
resources/assets/theme-two/coffee/*
Теперь я пытаюсь создать свой gulpfile.js
с помощью Elixir (в настоящее время для темы-один), и я пытаюсь указать входной каталог для моих файлов SASS.
var elixir = require('laravel-elixir');
elixir(function(mix) {
mix.sass(['app.scss'], 'public/theme-one/css/app.css');
});
Конечно, приведенный выше код по умолчанию будет просматривать каталог resources/assets/sass
, но вместо этого я хочу указать ему искать в каталоге resources/assets/theme-one/scss
.
Я пробовал всевозможные комбинации, чтобы попытаться заставить его работать, но кажется, что бы я ни пытался, Elixir/gulp-sass всегда пытается искать в resources/assets/sass
, и я получаю File not found: resources\assets\sass\app.scss
ошибок.
Я пробовал:
- Добавление третьего параметра, указывающего входной каталог
- Указание полного пути к файлу применительно к моему
gulpfile.js
т.е.resources/assets/theme-one/scss/app.scss
- Переключение второго и третьего параметров
- Копаемся в исходном коде (https://github.com/laravel/elixir/blob/master/tasks/sass.js и https://github.com/laravel/elixir/blob/master/GulpPaths.js), чтобы узнать, как указать входной каталог.
- Префикс
app.scss
в параметре 1 с./
и полным путем (из комментария и кода, начинающегося со строки 97 вGulpPaths.js
, объясняющего, что префикс пути с./
по существу пропускает префикс)
Мне вообще не везет. Любые идеи?
Единственное «решение», которое я мог бы придумать, — это изменить структуру моего проекта обратно на ту, которую хочет Эликсир, т. е. иметь resources/assets/sass/theme-one/app.scss
и resources/assets/coffee/theme-one/app.coffee
и т. д., но это не то, что я хочу делать. Если ничего не помогает, я могу просто собрать Эликсир и просто использовать gulp как есть.
Изменить
Теперь я попытался изменить элемент конфигурации assetsPath
в моем gulpfile.js
следующим образом:
var elixir = require('laravel-elixir');
elixir.config.assetsPath = "resources/assets/theme-one";
elixir.config.publicPath = "public/theme-one";
elixir(function(mix) {
mix.sass(['app.scss']);
});
Я все еще получаю File not found: resources/assets/sass/app.scss