当我尝试运行gulp watch
时,我收到此错误:
stream.js:74
throw er; // Unhandled stream error in pipe.
^
Error: ENOENT: no such file or directory, stat 'XXXX\public\build\css\client-18724fe72d.css'
at Error (native)
我试图将client.scss
文件留空,错误消失了。我发现当我在client.scss
:
// Pages
@import 'pages/client/auth';
@import 'pages/client/normals';
@import 'pages/client/orders';
我已经检查了它们中的每一个,并且语法或类似的东西没有任何问题。更重要的是,当我运行gulp
时,它可以正常运行。
这是我的gulpfile.js:
const elixir = require('laravel-elixir');
elixir(mix => {
mix
.sass('app.scss')
.sass('client.scss', 'public/css/client.css')
.sass('panel.scss', 'public/css/panel.css')
.copy('resources/assets/fonts', 'public/build/fonts')
.copy('resources/assets/images', 'public/build/images')
.webpack('app.js')
.webpack('panel.js')
.version(['css/app.css', 'css/client.css', 'css/panel.css', 'js/app.js', 'js/panel.js'])
});
这是文件结构:
我有什么问题吗?
答案 0 :(得分:0)
正如您在gulpfile.js
中看到的,我将文件/文件夹复制到/build
文件夹,这可能是Laravel Elixir 6上的一个问题,当我现在考虑它时,这听起来很糟糕太
所以我解决这个问题的方法是:
从gulpfile.js
删除这些行:
.copy('resources/assets/fonts', 'public/build/fonts')
.copy('resources/assets/images', 'public/build/images')
将fonts
和images
个文件夹放入storage/app/public
php artisan storage:link
(storage:link artisan command) gulp
它解决了我的问题。现在我可以再次gulp watch
。
答案 1 :(得分:0)
在这里扔我的两分钱。我有同样的问题,一旦我停止使用起始/相对路径选项就会消失,并使用完全相对路径(相对于/资源)。
所以而不是:
mix.styles([
'vendors/jquery-steps/demo/css/jquery.steps.css',
'vendors/pace/pace-minimal.css',
'vendors/bootstrap/dist/css/bootstrap.min.css',
'../node_modules/sweetalert2/dist/sweetalert2.min.css',
], 'public/css/vendors.css', 'public');
这很有效,gulp watch
又跑了一次:
mix.styles([
'../../../public/vendors/jquery-steps/demo/css/jquery.steps.css',
'../../../public/vendors/pace/pace-minimal.css',
'../../../public/vendors/bootstrap/dist/css/bootstrap.min.css',
'../../../node_modules/sweetalert2/dist/sweetalert2.min.css',
], 'public/css/vendors.css');
它不漂亮,但它确实有效。