vue3项目引入串口插件serialport报错问题?

请问vue3项目引入串口插件serialport报错问题。
web使用串口用await navigator.serial.requestPort()正常连接,但是在electron环境下,使用await navigator.serial.requestPort()报错,于是改成require('serialport')引入,但是页面报错require 找不到,求问如何才能在electron环境下使用serialport?

已经做过的尝试。
1,改成import导入,导入会引发其他报错,什么name报错之类的,于是启用。
2,想要兼容require,修改vite配置,但是没用,依然报错require undefined。
然后自己在网上下了一个electron的demo,可以正常使用require,且demo打开的窗口控制台输入require是有方法的,但在我自己的项目控制台输入required就会报错。
demo和我项目两者的区别在于,我的项目是vue3做的,然后在election项目引入我项目的地址,相当于用了electron的壳。
求大佬指点下如果能在项目里使用require

阅读 336
1 个回答

require 是 commonjs 规范,所以在浏览器里,包括 electron 里不能用。如果你正确使用了 vite 等脚手架工具,它们会帮你把这部分代码处理成正确的模块加载方式。

所以我觉得还是要从这方面下手。

  1. 首先,确认你的模块加载方式是正确的,别的地方怎么做,这里还怎么做。不要说什么“改成import导入,导入会引发其他报错,什么name报错之类的“,认真看错误信息,想办法修复错误,不要试。
  2. 查看你构建的结果,确保在 electron里加载的是正确代码。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏