Laravel Elixir 没有结合脚本
Laravel Elixir not combining scripts
我刚刚全新安装了 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
我在这里发现了一个类似的问题:laracast.com
问题是 laravel-elixir 的版本不是最新版本。
所以看看你的 package.json 并检查你是哪个版本 运行。
也许您的问题也是您用于 laravel-elixir.
的版本
我找到了答案。我的 scripts() 函数的第二个和第三个参数(输入和输出目录)应该互换。似乎这在当前版本的长生不老药中发生了变化。编码愉快!
编辑(解决方案):
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');
});
这对我有用。
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');
});
这是可行的
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总结
Laravel (5.4) 现在正在使用 Laravel Mix!所以基本上你现在有一个 webpack 文件。看看文档:
我刚刚全新安装了 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
我在这里发现了一个类似的问题:laracast.com
问题是 laravel-elixir 的版本不是最新版本。
所以看看你的 package.json 并检查你是哪个版本 运行。
也许您的问题也是您用于 laravel-elixir.
我找到了答案。我的 scripts() 函数的第二个和第三个参数(输入和输出目录)应该互换。似乎这在当前版本的长生不老药中发生了变化。编码愉快!
编辑(解决方案):
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');
});
这对我有用。
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');
});
这是可行的
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总结
Laravel (5.4) 现在正在使用 Laravel Mix!所以基本上你现在有一个 webpack 文件。看看文档: