升级laravel-mix1.0/webpack3之后原有代码无法运行

发布于 2022-09-06 05:53:21 字数 1336 浏览 14 评论 0

问题描述:npm update更新了下js包 laravel-mix由0.11更新到了1.16 webpack也由2更新到了3.5 复制了新的webpack.config.js到根目录 原有webpack.mix.js没有变动 运行npm run dev后总是提示找不到文件

webpack.mix.js内容我简化到了最简:

const mix = require('laravel-mix');

mix.js(['./resources/assets/js/app.js'], './public/js/app.js');

npm run出错代码:

 cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress

 95% emitting

 DONE  Compiled successfully in 9340ms                                                                        
fs.js:641
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '/app.js'
    at Error (native)
    at Object.fs.openSync (fs.js:641:18)
    at Object.fs.readFileSync (fs.js:509:33)
    at File.read (/var/www/node_modules/laravel-mix/src/File.js:180:19)
    at File.version (/var/www/node_modules/laravel-mix/src/File.js:190:25)
    at Manifest.hash (/var/www/node_modules/laravel-mix/src/Manifest.js:55:65)
    at manifest.forEach.file (/var/www/node_modules/laravel-mix/src/plugins/CustomTasksPlugin.js:79:47)
    at Array.forEach (native)

在webpack.mix.js中增加一行:

mix.setPublicPath(path.normalize('./public'));

之后可以成功打包 但是文件会被打包到根目录 而不是public目录

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮萍、无处依 2022-09-13 05:53:21

从来没有用过laravel-mix,
但是如果我碰到这种问题,在文档和搜索引擎都没有办法帮助我解决的时候,我会哪出大杀招

去 node_modules 目录下,调试啊,
通过出错信息,可以看到

/var/www/node_modules/laravel-mix/src/File.js

哪就去打开这个文件,大不了用console.log 一步步调试啊, 看看到底是为什么啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文