当前位置: 首页 > news >正文

快应用TypeError: The ‘compilation‘ argument must be an instance of Compilation错误

完整日志:

d:\QuickAppProjects\quickapp-component\node_modules\fa-toolkit\node_modules\webpack\lib\NormalModule.js:227 throw new TypeError( ^ TypeError: The 'compilation' argument must be an instance of Compilation at NormalModule.getCompilationHooks (d:\QuickAppProjects\quickapp-component\node_modules\fa-toolkit\node_modules\webpack\lib\NormalModule.js:227:10) at d:\QuickAppProjects\quickapp-component\node_modules\fa-toolkit\node_modules\webpack\lib\LoaderOptionsPlugin.js:46:17

原因:

这个问题大多数情况下是由于 Webpack 版本不匹配 导致的。

如何验证:

在项目根目录运行以下命令,看看有哪些版本:

npx webpack -v

npm ls webpack

如果结果里有多个版本,比如:

my-project@1.0.0

├── webpack@5.91.0

└─┬ fa-toolkit@1.2.3

   └── webpack@4.46.0

那就确定是版本冲突引起的。

解决办法:

强制 fa-toolkit 使用项目根目录的 webpack 实例,我们可以用 npm 的「依赖去重」机制来让所有依赖共享同一个 webpack。

1.执行以下命令:

# 删除旧模块
rm -rf node_modules package-lock.json

# 重新安装依赖并去重
npm install
npm dedupe

2.然后再执行:

npm ls webpack

3.理想输出应该变成:

│ ├─┬ babel-loader@8.2.5
│ │ └── webpack@5.76.2 deduped
│ ├─┬ stylus-loader@7.0.0
│ │ └── webpack@5.76.2 deduped
│ ├─┬ webpack-cli@5.0.2
│ │ ├─┬ @webpack-cli/configtest@2.1.1
│ │ │ └── webpack@5.76.2 deduped
│ │ ├─┬ @webpack-cli/info@2.0.2
│ │ │ └── webpack@5.76.2 deduped
│ │ ├─┬ @webpack-cli/serve@2.0.5
│ │ │ └── webpack@5.76.2 deduped
│ │ └── webpack@5.76.2 deduped
│ └─┬ webpack@5.76.2
│   └─┬ terser-webpack-plugin@5.3.14
│     └── webpack@5.76.2 deduped
└─┬ less-loader@10.2.0
└── webpack@5.76.2 deduped
webpack版本都一样了。

补充 fa-toolkit 是什么

fa-toolkit 一般会集成一系列 webpack 插件和工具,用来完成快应用的构建流程,例如:

功能模块说明
🔧 webpack 配置生成自动生成适配快应用项目结构的 webpack 配置(入口、输出、loader等)
📦 打包优化压缩、去注释、资源合并、生成 .rpk.hap
📜 资源编译编译 .ux / .qxml / .css / .js 等文件为快应用识别格式
🧩 组件打包当你写一个“快应用组件库”(比如广告组件)时,它帮助你打包成 npm 模块或独立组件
🧠 开发时热更新监听源码变动并自动构建(类似 webpack-dev-server 的行为)
http://www.dtcms.com/a/482540.html

相关文章:

  • php网站开发实用技术练习题网站源码整站打包
  • vue前端面试题——记录一次面试当中遇到的题(7)
  • 算法9.0
  • 商丘哪里做网站网页加速器怎么开
  • 未来之窗昭和仙君(十九)商用虚拟数字金额键盘——东方仙盟筑基期
  • 每日小知识点:10.14 webpack 有几种文件指纹
  • 怎样撰写企业网站建设方案wordpress主题layui
  • 地区性门户网站是什么意思阿里云做网站可以吗
  • 怎样批量在图片上加12345的数字编号?实用教程分享
  • 【avalonia教程】10数据绑定语法格式
  • 图像分类数据集难度怎么评?
  • 管理系统有哪些布局框架,比如左右,上下,F型号,T型等
  • 设计网站意味着什么如何用手机制作app
  • 网站跳出率 查询免费建立自己喜欢的
  • 纵向合并和横向合并工作表的思路
  • 图像锐化的魔法棒:深入浅出理解USM锐化算法
  • PHP网站开发都需要学什么做网站用什么电脑配置
  • Naive RAG
  • 做网站开源框架本土广告公司
  • MacOS 安装器安装,正在等待其他安装完成
  • 惠洋科技H5442L 100V高耐压LED恒流驱动芯片80V72V60V48V降压12V9V6V1.2Aic方案 PWM+模拟调光
  • 网站自建设需要买什么时候开始免费推广链接
  • ElasticSearch生产环境问题集锦
  • 深圳官网建站服务商网站建设空间申请
  • RAG系统向量化存储技术深度解析:双索引架构与批量处理实践
  • 复习总结最终版:计算机网络
  • wordpress导航站模版海南省建设注册中心网站
  • 成都建设路小学网站可以看的网站都有哪些
  • Unreal Engine 跨平台构建完全指南
  • 一个专门做恐怖片的网站安徽华建建设工程公司网站