• 意见建议
  • 有哪位大佬可以解答一下preload.js引入模块的问题啊

想请教一下各位大佬preload.js中引入的模块是有什么限制吗?
require('fs')引入的模块可以正常使用,但是在引入其它模块例如require('formidable')时在本地开发没问题,但是打包后就运行不了了,打包后也调试不了,看不到是哪里出了问题,有哪位大佬知道是什么原因吗?

有没有把依赖的第三方包复制一份到public/node_modules文件夹呢,第三方依赖是需要拷贝一份到这里的

_island 您好,请问能大概说下步骤吗,或者我自己搜索的话应该搜索什么关键词,我是一个后端不太了解您说的前端的这些概念

    陈兮玄 总之,你webpack打包之后的代码,根目录里面需要有一个node_modules目录,这个目录里面要有你引用的formidable的文件夹。
    另外,你要看报错信息其实也很简单,你可以把preload.js里面的require("xxx")都用try catch 包起来,然后catch里面把错误信息自己保存下来,或者用alert弹出来。

    luoxx 您好,感谢提供的查看报错的方法,但是这个formidable目录放在了node_modules目录下,还是找不到这个模块, alt

    陈兮玄 是使用vite吗,如果是的话可以直接使用我开发的这一款插件https://github.com/QC2168/vite-plugin-utools

    陈兮玄 也遇到了同样的那问题,就是如果 模块是nodejs环境内置的模块,就无需处理,如果是三方模块,那打包以后,需要在preload.js放一份对应的模块, node_modules/xxx xxx为你用的三方模块

    _island 不是,不过还是感谢大佬,有空我研究下大佬的插件模板

      Xinu 您好,请问您说的“在preload.js放一份对应的模块”是什么意思,我是直接npm install xxx安装的第三方模块,在node_modules目录下也可以找到对应的模块目录,但是打包后就是报错“cannot find module xxx”找不到模块

        luoxx

        Xinu

        _island

        郑三岁
        感谢各位大佬,问题解决了,是我傻逼了,没看清楚你们的回答,需要在打包后的目录下创建node_modules文件夹,我一直看的开发目录,十分感谢各位!

          说点什么吧...
          闽ICP备18007474号