我正在运行 Symfony 7.0 并尝试使用
symfony/ux-react
捆绑包。
我使用以下命令
composer require symfony/ux-bundle
后跟 npm install -D @babel/preset-react --force
进行设置。
通过检查
vendor
目录可以看到,捆绑包已正确安装,但在尝试运行 yarn watch
时,出现以下错误:
模块构建失败:找不到模块: “./assets/app.js”包含对文件“@symfony/ux-react”的引用。 找不到该文件,请检查是否有拼写错误,如果文件被移动,请更新它。
这是我的assets/app.js文件:
import { registerReactControllerComponents } from '@symfony/ux-react';
import './bootstrap.js';
/*
* Welcome to your app's main JavaScript file!
*
* This file will be included onto the page via the importmap() Twig function,
* which should already be in your base.html.twig.
*/
import './styles/app.css';
registerReactControllerComponents(require.context('./react/controllers', true, /\.(j|t)sx?$/));
registerReactControllerComponents();
这是我的 package.json 文件:
{
"devDependencies": {
"@babel/core": "^7.17.0",
"@babel/preset-env": "^7.16.0",
"@babel/preset-react": "^7.23.3",
"@symfony/webpack-encore": "^4.0.0",
"core-js": "^3.23.0",
"regenerator-runtime": "^0.13.9",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-notifier": "^1.15.0"
},
"license": "UNLICENSED",
"private": true,
"scripts": {
"dev-server": "encore dev-server",
"dev": "encore dev",
"watch": "encore dev --watch",
"build": "encore production --progress"
},
"dependencies": {
"@symfony/stimulus-bridge": "^3.2.2",
"react": "^18.2.0"
}
}
据我所知,
symfony/ux-react
模块正是它应该在的位置;在/vendor/symfony/
。
我已按照文档完成了设置中的所有步骤,但没有成功。
添加
"@symfony/ux-react": "file:vendor/symfony/ux-react/assets
在依赖项中的 package.json 中