我刚做了一个干净的laravel安装。 Elixir没有合并我的脚本。我对发生的事情毫无头绪。我看到脚本任务被触发但没有文件输出到public / js目录中。
这是我的gulpfile.js:
elixir(function (mix) {
mix.sass('style.scss')
.scripts([
'vendor/jquery.js',
'vendor/foundation.min.js',
'script.js'
], 'resources/assets/js', 'public/js/app.min.js')
.scripts([
'vendor/modernizr.js'
], 'resources/assets/js', 'public/js/modernizr.js');
});
它正确编译sass。
这是目录结构:https://www.uploady.com/#!/download/221Y0RI_aYe/V7eKiQHIw2gvyXVD
答案 0 :(得分:7)
我找到了答案。我的第二个和第三个参数(输入和输出目录)应该互换到scripts()函数。在当前版本的elixir中似乎发生了这种变化。快乐的编码!
编辑(解决方案):
elixir(function (mix) {
mix.sass('style.scss')
.scripts([
'vendor/jquery.js',
'vendor/foundation.min.js',
'script.js'
], 'public/js/app.min.js', 'resources/assets/js')
.scripts([
'vendor/modernizr.js'
], 'public/js/modernizr.js', 'resources/assets/js');
});
答案 1 :(得分:1)
我在这里找到了类似的问题:laracast.com
问题是laravel-elixir的版本不是最新版本
所以看看你的package.json并检查你正在运行的版本。
也许你的问题也是你用于laravel-elixir的版本。
答案 2 :(得分:0)
这对我有用。
var elixir = require('laravel-elixir');
/*
|--------------------------------------------------------------------------
| Elixir Asset Management
|--------------------------------------------------------------------------
*/
elixir(function(mix) {
mix.less('app.less')
.scripts([
'vendor/underscore.min.js',
'plugins/dropzone.js',
'main.js',
'autocomplete.js',
'search.js',
'reviews.js'
], 'resources/assets/js', 'public/js/app.js')
.scripts([
'admin.js',
'admin-search.js'
], 'resources/assets/js/admin', 'public/js/app-admin.js');
});

答案 3 :(得分:0)
Laravel(5.4)现在正在使用 Laravel Mix !所以基本上你现在有一个webpack文件。看一下文档:
答案 4 :(得分:-1)
这是有效的
elixir(function(mix) {
mix.sass('app.scss')
mix.styles([
'bootstrap.css',
'sb-admin-2.css'
],'./public/css/all.css')
mix.scripts([
'bootstrap.min.js',
'sb-admin-2.js'
], './public/js/app.js')
});
Gulp摘要