组件本地使用正常,上传到npm后其他项目使用时报错:Failed to mount component: template or render function not defined
出问题的地方在组件递归调用自己时,代码如下:

在Menus组件内递归调用Menus,其他项目通过 npm i vue-contextmenus安装调用。
待页面展示二级目录时报错
后经测试,发现一个临时解决方案,暂时没找到合理的解释, 如果有大佬知道还请告知《nacker1@qq.com》,感激不尽。
解决方案 :修改 package.json 里main信息
报错的引用:"main": "lib/vue-contextmenus.umd.min.js",
可正常使用的引用:"main": "lib/vue-contextmenus.common.js",
发布前通过 "lib": "vue-cli-service build --target lib --name vue-contextmenus --dest lib src/components/index.ts" 打包。

一个Vue组件在本地运行正常,但在上传至npm并被其他项目引入后出现错误:Failed to mount component。问题源于组件递归调用自身时,具体在Menus组件中。错误出现在尝试显示二级目录时。临时解决方案是修改package.json的main字段,将"main": "lib/vue-contextmenus.umd.min.js"改为"main": "lib/vue-contextmenus.common.js"。组件使用的是vue-contextmenus库,并通过vue-cli-service打包。
最低0.47元/天 解锁文章
33万+

被折叠的 条评论
为什么被折叠?



