vue|vue electron 运行时报错Cannot find module 'fs/promises'的解决方法
项目已经上线半年了,全省多地使用,突然出现的问题,最后发现是因为使用的 electron-updater 因为版本号没有锁定,突然之间就报了上面的错误,不管我怎么升级node都没用(哈哈,node本身就没问题),最后我根据提示找到报错位置:node_modules下的electron-updater的AppUpdater.js文件,将require("fs/promises")改为require("fs").promises,发现项目能跑起来,但是因为不想修改node_module文件,所以继续找问题,发现其他模块require("fs/promises")引入时并没有问题,然后我就卸载了electron-updater模块,发现项目跑起来了,然后我就猜测是大版本中最新的版本出问题了,接着我就把package.json中引入的"electron-updater": "4.3.5"锁定版本,运行项目,正常启动。
所以我的报错原因就是引入的electron-updater模块更新了,并且更新后的内容里有报错(也许用的node版本低)
解决方法:锁定正常运行的版本即可,package.json中 "electron-updater": "^4.3.5" 改为 "electron-updater": "4.3.5" ;
总结:项目稳定后锁定版本号,防止出现类似的问题
下面是网上的一些解决方法:
1:这是nodejs版本太低导致的,查看electron-builder的代码可以发现,里面都是require("fs/promises")这样的引用,但是旧版nodejs是
require("fs").promises
的引用方式;
这种错的解决方法:升级nodejs版本
版本 | 变更 |
---|---|
v14.0.0 | 暴露为 require('fs/promises') 。 |
v11.14.0, v10.17.0 | 此 API 不再是实验的。 |
v10.1.0 | 该 API 仅可通过 require('fs').promises 访问。 |
v10.0.0 | 新增于: v10.0.0 |
【vue|vue electron 运行时报错Cannot find module 'fs/promises'的解决方法】
推荐阅读
- 从零写vue日历组件
- Vue|Vue 源码解读(11)—— render helper
- Vue3|Vue3 diff算法图解分析
- Vue|基于vue+srpingboot的学生成绩管理系统
- ASP.NetCore+VUE|ASP.NetCore+VUE 实现学生成绩管理系统(一)
- vue项目中使用websocket的实现
- 如何在 Vue 中使用 Chart.js - 手把手教你搭可视化数据图表
- 基于SpringBoot框架和VUE的求职招聘系统
- 前端|913 error Component name “home“ should always be multi-word vuemulti-word-component-names
- 12|12 款最棒 Vue 开源 UI 库测评 - 特别针对国内使用场景推荐