Laravel 8 NPM运行报错 webpack.mix.js编译产物未生成在public目录
问题原因
你遇到的问题是前端构建工具的执行逻辑差异导致的,通常有以下几种可能:
- 新版本 Laravel 默认使用 Vite 作为前端构建工具,
npm run dev命令仅用于启动本地开发服务器支持热更新,不会将资源编译后输出到 public 目录,只有生产构建命令才会生成静态资源文件。 - 执行
php artisan ui vue后未正确生成前端构建配置文件,导致构建输出路径异常。 npm run dev执行过程中出现隐性报错,构建流程中断未生成资源。- laravel/ui 版本和当前 Laravel 版本不兼容,导致前端配置生成错误。
解决方法
- 本地开发场景:无需手动在 public 目录查找资源,直接在 Blade 模板中使用
@vite指令引入对应资源即可,Vite 开发服务器会自动处理资源加载。@vite(['resources/js/app.js', 'resources/sass/app.scss']) - 需要生成可部署静态资源场景:执行
npm run build命令,构建完成后即可在 public 目录下看到生成的build资源文件夹。 - 如果确认使用 Laravel Mix 作为构建工具:检查根目录下是否存在
webpack.mix.js配置文件,同时将 package.json 中的 scripts 调整为 Mix 对应命令后重新执行构建即可。 - 版本兼容问题:安装和当前 Laravel 版本匹配的 laravel/ui 包版本后,重新执行
php artisan ui vue命令生成配置再构建即可。
内容的提问来源于stack exchange,提问作者Paul Iverson Cortez
相关产品推荐
相关产品推荐

