webpack - 为什么画布从 nextjs 10.0.5 升级到 10.0.6 后会破坏构建?
问题描述
我从 nextJs 从 10.0.5 升级到 10.0.6,现在构建失败并显示以下消息:
Error: Module did not self-register: '.../node_modules/canvas/build/Release/canvas.node
.
我不是直接导入画布,而是fabricjs使用的。我很难理解这个Module did not self-register
错误消息是怎么回事。
我刚刚发现 Vercel 已经根据发行说明对 webpack 配置进行了一些更改,所以这将是调查的起点,但到目前为止我没有成功。
旁注:构建仍然与 NextJS 的最新(迄今为止)版本 10.0.7 中断。这很不幸,因为它阻止我升级到 10.0.5 以上
编辑
经过一番调查,我发现问题是在我使用getStaticPaths
基于动态路由生成静态文件时发生的。我的假设是 nextjs 10.0.6+ 在其构建过程中使用工作线程来生成基于动态路由的静态文件。
由于画布不支持工作线程(根据此问题),这可以解释构建失败的原因。
解决方案
推荐阅读
- sql - 使用游标和过程查找记录
- python - 如何解决django中注释的sql解码错误
- http - 如何使用 Puppeteer 测试异常行为?
- r - 如何将每列的名称添加到 geom_tile 图
- encryption - 如何解决 weblogic nodemanger 进程中的 SWEET32 和 Logjam 漏洞
- python - 在 Windows 上的环境变量中包含 DJANGO_SETTINGS_MODULE
- javascript - 如何在 ReactJS 中将二维数组转换为逗号分隔的字符串
- python - 如何在python中读取具有特定标识符的kml文件?
- sql - 如何在 SQL Developer 中编辑 XML 列?
- ios - 为什么我的for循环在viewDidLoad中放不完?