qiankun
qiankun copied to clipboard
[BUG] Vue CLI 5项目中Webpack插件错误
问题描述: 在Vue CLI 5项目中使用Qiankun webpack插件时遇到两个主要问题:
-
入口JS文件识别不准确: Vue CLI 5默认配置下的html-webpack-plugin会将编译后的JS文件放置在head标签末尾,并添加defer属性。Qiankun插件目前的逻辑是识别最后一个非defer或async的script标签作为入口JS,这导致了识别错误。
-
webpack版本识别失败: 由于业务项目的
package.json
中未直接包含webpack依赖,插件无法读取到当前业务仓库使用的webpack版本,导致插件运行出错。
复现步骤:
- 使用Vue CLI 5创建一个新项目。
- 在项目中使用Qiankun webpack插件。
- 运行构建命令并检查生成的HTML文件。
预期行为:
- 插件应准确识别带有defer属性的入口JS文件。
- 插件应能够正确读取或推断出项目使用的webpack版本。
实际行为:
- 插件未能识别带有defer属性的正确入口JS文件。
- 在缺少直接webpack依赖的情况下,插件无法确定使用的webpack版本。
建议的解决方案:
- 修正Qiankun插件的识别逻辑,以兼容html-webpack-plugin的defer行为。
- 允许在插件配置中明确指定webpack版本,或改进插件的版本检测逻辑,以处理幽灵依赖的情况。
由于缺乏足够的信息(github、stackblitz、codesandbox等可复现仓库),我们暂时关闭了该 Issue。请修改(不要回复) Issue 提供最小重现以重新开启。谢谢。如果只是单独的技术咨询,可移步 https://qiankun.umijs.org/#-community 交流~
#2800
我记得webpack是有API获取到实际的版本的
我记得webpack是有API获取到实际的版本的
社区找了一圈,也断点看了运行时的对象,没看到的样子😂
https://github.com/webpack/webpack/discussions/15526