Laravel 8 执行 npm run dev 报错:mix.react() 写法不兼容
根因说明
这个报错来源于Laravel Mix 6版本的API破坏性变更:此前独立调用的mix.react()方法被调整为链式特性开关,不再支持独立调用。你当前项目的webpack.mix.js仍使用了v5及更早版本的写法,触发了组件注册阶段的校验拦截。
修复方法
- 打开项目根目录的
webpack.mix.js配置文件 - 找到报错行对应的旧配置,典型旧写法为:
mix.js('resources/js/app.js', 'public/js') // 独立调用的react方法,v6版本已废弃 mix.react() - 按照v6的API规则调整为链式调用写法,将
.react()直接追加到mix.js()方法的末尾:mix.js('resources/js/app.js', 'public/js').react() - 保存文件后重新执行
npm run dev,即可正常启动编译流程。
补充说明:该报错仅为配置写法不兼容,不需要降级Laravel Mix版本。如果调整写法后出现React相关编译依赖缺失的报错,执行
npm install react react-dom @babel/preset-react安装对应依赖即可。
内容的提问来源于stack exchange,提问作者Zahid Mzhmm
相关产品推荐
相关产品推荐

