2015-04-08 4 views
1

У меня есть простой скрипт, чтобы объединить стили:Laravel 5 и Elixir - точка неправильного каталога

elixir(function(mix) { 
    mix.styles([ 
     'bootstrap.min.css', 
     'font-awesome.css', 
     'animate.css', 
     'style.css' 
    ], "public/frontend/css"); 
}); 

Все мой файл CSS находятся в public/frontend/css каталоге и я установить второй аргумент функции styles к этой базе но если я бегу gulp я получаю:

[19:18:22] Starting 'default'... 
[19:18:22] Starting 'styles'... 
[19:18:22] Merging: resources/css/css/bootstrap.min.css,resources/css/public/frontend/css/font-awesome.css,resources/css/public/frontend/css/animate.css,resources/css/public/frontend/css/style.css 
[19:18:22] Finished 'default' after 196 ms 
[19:18:22] File not found: resources/css/css/bootstrap.min.css 
[19:18:22] File not found: resources/css/public/frontend/css/font-awesome.css 
[19:18:22] File not found: resources/css/public/frontend/css/animate.css 
[19:18:22] File not found: resources/css/public/frontend/css/style.css 
[19:18:22] Finished 'styles' after 206 ms 

Так устанавливает базовый каталог для resources/css.

Как я могу решить?

ответ

3

EDIT Я неправильно понял вопрос.

Второй аргумент mix.styles()mix.scripts()) относится к выходу. Но было бы взять третий аргумент, отсылая к базовому пути, так что это один, что вы должны изменить, например, так:

elixir(function(mix) { 
    mix.styles([ 
     'bootstrap.min.css', 
     'font-awesome.css', 
     'animate.css', 
     'style.css' 
    ], "path/to/output.css", "public/frontend/css"); 
}); 

Если вы хотите, вы можете изменить базовый путь в конфиги, как указано выше:


Создать elixir.json файл в корневом каталоге вашего проекта, а затем поместить следующее на нем:

{ 
    "assetsDir": "public/frontend/" 
} 

и вы должны быть хорошо идти.

Чтобы предоставить дополнительную информацию, когда вам нужно переопределить конфигурацию по умолчанию, сделайте это в этом файле. по умолчанию конфиги АРЕ:

var config = { 
    production: !! util.env.production, 
    srcDir: 'app', 
    assetsDir: 'resources/assets/', 
    cssOutput: 'public/css', 
    jsOutput: 'public/js', 
    sourcemaps: ! util.env.production, 
    bowerDir: 'vendor/bower_components', 
    tasks: [], 
    watchers: { default: {} }, 
    duplicate: [], 
    concatenate: { css: [], js: [] }, 
    compile: {} 
}; 

от node_modules/laravel-elixir/Config.js.

1

Вы должны передать custom base directory третьим аргументом, а не ко второму.

Объединить таблицы стилей из пользовательского каталога (Ref)

elixir(function(mix) { 
    mix.styles([ 
     "normalize.css", 
     "main.css" 
    ], 'public/build/css/everything.css', 'public/css'); 
}); 
Base
Смежные вопросы