Symfony 7中yarn watch报错:@symfony/ux-react模块未找到(已存于vendor)
解决方案:Webpack找不到@symfony/ux-react模块
你遇到的问题核心是JS端的@symfony/ux-react包未安装——虽然Composer已经安装了PHP端的symfony/ux-react组件,但Webpack需要对应的JS包才能识别导入路径。按以下步骤解决:
1. 安装JS端的@symfony/ux-react依赖
你的package.json里缺少这个关键依赖,执行以下命令安装:
yarn add @symfony/ux-react # 或者使用npm npm install @symfony/ux-react
2. 验证Webpack配置是否启用Symfony插件
确保webpack.config.js中存在启用Symfony插件的代码(Symfony Flex通常会自动添加,若缺失需手动补充):
const Encore = require('@symfony/webpack-encore'); // ... 其他配置代码 ... // 必须存在这一行,用于自动解析Symfony UX组件的JS路径 Encore.enableSymfonyPlugin(); // ... 其他配置代码 ... module.exports = Encore.getWebpackConfig();
3. 清理缓存并重新构建
# 清除Symfony缓存和Webpack旧构建文件 rm -rf var/cache/* public/build/* # 重新安装所有依赖 yarn install # 重新启动watch命令 yarn watch
4. 优化app.js冗余代码(可选)
你的app.js中重复调用了registerReactControllerComponents(),第二次无参数调用是多余的,可删除:
// 保留这一行即可 registerReactControllerComponents(require.context('./react/controllers', true, /\.(j|t)sx?$/)); // 删除下面这行冗余代码 // registerReactControllerComponents();
内容的提问来源于stack exchange,提问作者Chris Brosnan
相关产品推荐
相关产品推荐

