Ингредиент скриптов Laravel 5 Elixir не работает (файл не выводится)

У меня есть gulpfile для объединения файлов js, у меня есть еще немного кода, и я хочу сделать это, потому что у меня будут разные разделы на веб-сайте, и я не хочу, чтобы пользователь загружал css и js, которые он не будет использовать. В настоящее время я изолировал приведенный ниже код, и последние «функции» ничего не выводят.

    //works
    mix.scripts(['resources/js/jquery-2.1.1.min.js',
                'resources/js/bootstrap.min.js',
                'resources/js/jquery.maskedinput.min.js'],
              'resources/js/common.js')
    //works
    .scriptsIn('resources/js/user', 'resources/js/user.js')

    //NOPE! No file is created, even if I change the output directory/filename to resources/js or whatever
    .scripts(['resources/js/common.js',
              'resources/js/user.js'],
             'public/js/user.js');

Я попытался изменить его, чтобы использовать базовый каталог, но ничего:

    .scripts(['common.js',
              'user.js'],
             'public/js/user.js', 'resources/js');

Любые идеи?

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

Совершенно новый проект laravel, новый файл gulp, ингредиент сценариев объединяет только один из двух файлов js (один из maskedinput.js, user.js полностью игнорируется, даже если они оба находятся в одной папке и являются единственными файлами там):

elixir(function(mix) {
    mix.scriptsIn('resources/assets/js/user', 'resources/assets/js/user.js');

    mix.scripts(['user.js', 'maskedinput.js'],
       'public/js/user.js', 'resources/assets/js/');

});

person hfingler    schedule 06.02.2015    source источник


Ответы (2)


Хорошо, я нашел обходной путь, чтобы заставить его работать так, как я хочу. Я просто использовал то, что использовал с чистым gulp.js, подстановочными знаками (в документах нет никакой информации об этом):

mix.scripts(['maskedinput.js', 'user/*.js'],
   'public/js/user.js', 'resources/assets/js/');

Теперь все сцеплено правильно. Не собираюсь принимать это как ответ, потому что «скрипты» IMO после «scriptsIn» все еще имеют проблемы, и мне любопытно, является ли это ошибкой.

person hfingler    schedule 20.02.2015
comment
Именно то, что я думал, происходит.. Я понятия не имею, куда сообщить об этом.. - person hfingler; 21.02.2015
comment
@polar вы сообщите об этом здесь github.com/laravel/framework - или создайте PR здесь github.com/laravel/elixir - person Laurence; 21.02.2015

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

.scripts(['common.js','user.js'],'public/js/user.js', 'resources/js');

ИЗМЕНИТЬ

Я проверил ваш случай еще раз. Кажется, на данный момент это не работает. Файл, который выводится в результате любой функции Elixir (scriptsIn или script, не будет использоваться в другой функции (например, script в данном случае). Я немного поиграл с ним и не вижу никакого обходного пути на данный момент. .

person Marcin Nabiałek    schedule 06.02.2015
comment
Это была просто опечатка здесь в stackoverflow, в моем gulpfile это было правильно. - person hfingler; 06.02.2015