You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony 4使用Webpack Encore的createSharedEntry报错求助

解决Symfony 4 + Webpack Encore编译依赖未找到的问题

我来帮你排查这个Webpack Encore编译报错的问题,你遇到的“依赖未找到”错误通常和文件路径、依赖安装或者配置细节有关,咱们一步步来解决:

1. 先检查文件拼写和路径

首先我注意到你配置里的Bootstrap拼写错了!比如assets/css/bootrap.min.css和assets/js/bootsrap.min.js里少了一个t,正确的拼写是Bootstrap。这种低级拼写错误是最常见的原因,先把所有文件名和路径核对一遍,确保和项目里实际存在的文件完全一致。

2. 确认依赖的引入方式

如果你是手动把Bootstrap、jQuery这些文件放到assets目录下的,那路径没问题的话就继续往下看;但如果是通过yarn/npm安装的依赖,那直接引用本地assets路径就会找不到文件——因为这些依赖是存在于node_modules目录里的。

这种情况下,你应该用包名来引用,修改webpack.config.js的配置:

.createSharedEntry('vendor', [
    // 用包名引用node_modules里的依赖
    'bootstrap/dist/css/bootstrap.min.css',
    'jquery/dist/jquery.min.js',
    'jquery-migrate/dist/jquery-migrate.min.js',
    'popper.js/dist/umd/popper.min.js',
    'bootstrap/dist/js/bootstrap.min.js',
    // 你的自定义SCSS文件保持路径不变
    'assets/css/custom.scss',
    'assets/css/components.scss',
    'assets/css/core.scss',
    'assets/css/global.scss'
])

同时要确保这些依赖已经正确安装,执行命令:

yarn add bootstrap jquery jquery-migrate popper.js --dev

3. 启用SCSS编译支持

你在配置里引用了.scss文件,要确保Webpack Encore已经启用了SCSS加载器。在webpack.config.js里添加:

Encore
    // ...其他已有配置
    .enableSassLoader() // 启用SCSS编译

然后安装必要的依赖:

yarn add sass-loader sass --dev

4. 清理缓存重新编译

有时候缓存会导致一些奇怪的编译问题,试试清理Encore的缓存再重新编译:

yarn run encore dev --clear-cache

先从拼写错误这个最容易修复的点开始排查,应该能解决大部分问题。如果还是报错,可以把具体的依赖未找到的提示信息贴出来,能更精准地定位问题。

内容的提问来源于stack exchange,提问作者modogo2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:01:33