新建Laravel项目缺失webpack.mix.js文件问题求助
解决方案
问题原因
Laravel 9及以上版本已默认使用Vite替代Webpack Mix作为前端构建工具,因此新项目不会自动生成webpack.mix.js,而No publishable resources for tag [laravel-assets]的提示是因为Vite版本的Laravel不再提供该标签下的可发布资源,属于正常现象。
方案1:使用官方推荐的Vite(无需Mix)
- 项目根目录下的
vite.config.js是Vite的配置文件,替代原webpack.mix.js的作用 - 安装前端依赖:
npm install - 开发环境实时编译资源:
npm run dev - 生产环境打包资源:
npm run build - 模板文件中引入资源需使用Vite指令,替代原Mix的
mix()方法:@vite(['resources/css/app.css', 'resources/js/app.js'])
方案2:手动安装Webpack Mix(适配旧习惯)
如果坚持使用Mix,按以下步骤操作:
- 移除Vite相关依赖:
composer remove laravel/vite-plugin npm remove vite laravel-vite-plugin - 安装Laravel Mix:
npm install laravel-mix --save-dev - 在项目根目录手动创建
webpack.mix.js,基础配置示例:const mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .postCss('resources/css/app.css', 'public/css'); - 模板文件中改回使用Mix的资源引入方式:
<link rel="stylesheet" href="{{ mix('css/app.css') }}"> <script src="{{ mix('js/app.js') }}"></script> - 编译资源:
npm run dev
关于No publishable resources for tag [laravel-assets]提示
该提示无需特殊处理,是Vite版本Laravel的正常输出。若需避免,运行php artisan vendor:publish时指定具体服务提供者或标签,不要使用默认的无参数命令。
内容的提问来源于stack exchange,提问作者mpg26262
相关产品推荐
相关产品推荐

