Symfony下Bootstrap与Webpack Encore集成报错:找不到symfony/stimulus-bundle
Symfony 7下Webpack Encore与Bootstrap整合报错问题
问题背景
我正在学习Yves ROCAMORA编写的ENI课程《使用PHP和Symfony开发Web应用(第2版)》,在Webpack Encore章节尝试整合Sass、Vue.js和Bootstrap时遇到编译报错。
操作步骤
- 使用
symfony new --webapp创建应用结构 - 通过
composer require symfony/webpack-encore-bundle安装Webpack Encore - 用npm安装
sass-loader、node-sass和bootstrap,npm install提示安装完成 - 修改
webpack.config.js启用Sass加载器
报错信息
运行npm run watch时出现以下错误:
ERROR Failed to compile with 1 errors 9:54:06 Module build failed: Module not found: "./assets/bootstrap.js" contains a reference to the file "@symfony/stimulus-bundle". This file can not be found, please check it for typos or update it if the file got moved.
尝试的解决方法
- 尝试用Composer安装缺失的包,但发现stimulus-bundle已包含在已安装的Webpack-Encore中
- 对比教程的
package.json,发现自己的项目缺少@hotwired/stimulus和@symfony/stimulus-bridge,尝试用Composer安装失败,手动添加后执行npm install仍报错 - 清理项目并严格按照教程步骤重新操作,问题依旧存在
根因确认
最终发现问题在于我使用的是Symfony 7.0.1,而教程中的方法仅适用于Symfony 6版本。
内容的提问来源于stack exchange,提问作者Damien D'ARRAS
相关产品推荐
相关产品推荐

