想请教一下各位大佬preload.js中引入的模块是有什么限制吗? require('fs')引入的模块可以正常使用,但是在引入其它模块例如require('formidable')时在本地开发没问题,但是打包后就运行不了了,打包后也调试不了,看不到是哪里出了问题,有哪位大佬知道是什么原因吗?
陈兮玄 是使用vite吗,如果是的话可以直接使用我开发的这一款插件https://github.com/QC2168/vite-plugin-utools
陈兮玄 也遇到了同样的那问题,就是如果 模块是nodejs环境内置的模块,就无需处理,如果是三方模块,那打包以后,需要在preload.js放一份对应的模块, node_modules/xxx xxx为你用的三方模块
构建下preload文件就可以了
_island 您好,请问能大概说下步骤吗,或者我自己搜索的话应该搜索什么关键词,我是一个后端不太了解您说的前端的这些概念
有没有把依赖的第三方包复制一份到public/node_modules文件夹呢,第三方依赖是需要拷贝一份到这里的
luoxx 好的,感谢,我试一下
陈兮玄 总之,你webpack打包之后的代码,根目录里面需要有一个node_modules目录,这个目录里面要有你引用的formidable的文件夹。 另外,你要看报错信息其实也很简单,你可以把preload.js里面的require("xxx")都用try catch 包起来,然后catch里面把错误信息自己保存下来,或者用alert弹出来。
luoxx 您好,感谢提供的查看报错的方法,但是这个formidable目录放在了node_modules目录下,还是找不到这个模块,
luoxx
Xinu
_island
郑三岁 感谢各位大佬,问题解决了,是我傻逼了,没看清楚你们的回答,需要在打包后的目录下创建node_modules文件夹,我一直看的开发目录,十分感谢各位!
陈兮玄 node_modules目录是否和plugin.json是同级目录?
陈兮玄 简单一点的,就是在同级目录下npm install 一个对应模块
luoxx 是在同级目录
郑三岁 我就是这样安装的
_island 不是,不过还是感谢大佬,有空我研究下大佬的插件模板
Xinu 您好,请问您说的“在preload.js放一份对应的模块”是什么意思,我是直接npm install xxx安装的第三方模块,在node_modules目录下也可以找到对应的模块目录,但是打包后就是报错“cannot find module xxx”找不到模块