如何配置需要包含到打包结果中的第三方包?
Opened this issue · 3 comments
erguotou520 commented
正常模式下使用require
可以引用第三方包,但是在构建后并没有node_modules
目录包含第三方模块,所以打包后启动报错。
请问有什么好的解决方法么?
MangoTsing commented
我不确定说的 require
是在 render 还是 main,如果可以给我一个复现的地址我可以看一下。如果需要打包包含 node_modules
目录的话可以在 package.json 里面的 build.files 字段里修改。另外,如果是 render 层,你可以试着修改一下 vite.config.ts 里面的 optimizeDeps.exclude 字段,可以阻止第三方包的优化处理
erguotou520 commented
require
其实在render
还是main
是一样的,这种第三方包是需要打包到最后的asar包里的。这些第三方包确实需要放到build.files里,但手动维护有很大问题,需要把所有用到的模块都打包进去。
现在我是通过script/dep.js
去遍历获取所有的包列表暂时解决的,但是这不是最好的方案。
caoxiemeihao commented
我尝试在开发期通过 ESModule transform to CommonJs 解决了这个问题 😁
https://github.com/caoxiemeihao/electron-vue-vite