请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

发布到NPM之后发现,external配置没生效

老师你好,组件库完成打包工作之后,发布到npm的之后发现了external的配置并没有生效,我在里面配置了不要的打包的第三方依赖进去,但是还是被打包进去了,然后我新启动了一个项目进行测试的时候,发现了问题,报错信息如下:它告诉我这两个包被打包进去了,npm的依赖地址是:@drgeek/v-element - npm ,我的源码地址是:drgeek/v-element - 慕课网Git

https://img1.sycdn.imooc.com/szimg/5c958d6809050d6212960930.jpg










我已经尝试过使用

rollup-plugin-node-externals

这个插件来手动配置不要打包依赖进去,但是并没有效果,我也不知道是哪里问题,还请老师帮忙看看。https://img1.sycdn.imooc.com/szimg/95113b6809050e8a12210641.jpg

正在回答

2回答

同学你好

认真看了代码,发现这样的问题:

1 你的打包是没问题的,已经成功的将这些模块排除出去了,你可以看对应的es 源代码,就会发现这些模块是不存在的,

2 你的问题在于你的依赖,你将这两个包放到了 devDeps 当中,这样在安装组件库的时候就不会被安装,所以也就会报错了。

3正确的做法是将这两个依赖放到 dependencies 字段当中

就像我的源代码中的那样:

https://git.imooc.com/coding-693/v-element/src/master/package.json#L55

这样应该就没有问题了


0 回复 有任何疑惑可以回复我~
  • 提问者 drgeek #1
    老师十分感谢您抽出时间观看,因为当时这个报错说我配置有问题,所以我一直没往其他方面想,看来有时候也不能全相信报错,感谢老师🙏🙏
    回复 有任何疑惑可以回复我~ 2025-04-30 13:33:33
张轩 2025-04-22 11:55:27

同学你好

还没有时间看源代码,简单分析一下,使用这个插件这个 external 还是要填写一下,这里打包以后有可能 vite 还是会对这个做标记。可以把这两个添加进去试试看。不行的话,我再去看源代码试试。

0 回复 有任何疑惑可以回复我~
  • 提问者 drgeek #1
    老师您好,两个都配置了还是没有用,生成的dist文件夹里面还是有第三方依赖,我也不清楚是哪里的问题,这个bug真的困扰了我很久,看源码没有一点问题。
    回复 有任何疑惑可以回复我~ 2025-04-24 16:35:02
  • 提问者 drgeek #2
    老师您有空记得看看,十分感谢!
    回复 有任何疑惑可以回复我~ 2025-04-28 23:42:42
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号