kaola-fed / megalo

基于 Vue 的小程序开发框架
MIT License
1.63k stars 116 forks source link

分包 使用第三方ui 打包失败 #265

Open webtianjia opened 5 years ago

webtianjia commented 5 years ago

image

image

elcarim5efil commented 5 years ago

分包里对第三方组件的引用路径检查一下,应该是路径没有对应上。

webtianjia commented 5 years ago

image 全局引用的 在main .ts

webtianjia commented 5 years ago

@elcarim5efil

这是我在最初版 的结构

image

最新版错误如下:

image image

请问该如何解决分包路径问题呢,求大佬帮助..

webtianjia commented 5 years ago

这个问题可有解决方案吗

webtianjia commented 5 years ago

@elcarim5efil

bigmeow commented 5 years ago

写相对于main.ts的路径,比如 ./native/xxx

webtianjia commented 5 years ago

@bigmeow 这样只能兼容少数路径下的 ,其他的还是会出错

Gengar-666 commented 5 years ago

我也遇到了这个问题,发现第三方ui包不会打到dist目录下,只能暂时手动把第三方ui库添加进dist目录解决

bigmeow commented 5 years ago

@UchihaObitoZzz 放native 目录下 https://megalojs.org/#/basic/file?id=static-%E9%9D%99%E6%80%81%E6%96%87%E4%BB%B6

webtianjia commented 5 years ago

@bigmeow 放在目录是可以,但是如果有使用分包,就会出现我上面的问题。目前我的做法是暂时没有使用分包。压缩后大概800K勉强使用。但是后面若项目迭代,会出现代码包过大问题。

bigmeow commented 5 years ago

分包的话 第三方ui还是放主包里 只是把页面分出去; 如果代码在主包和分包里都用到了,那这代码就放在主包里; 分包里使用组件,引入时写相对于这个页面本身的相对路径去写

bigmeow commented 5 years ago

如果实在有问题 搞不会 请提供一个不包含业务代码的、能重现你问题的仓库

webtianjia commented 5 years ago

@bigmeow 准备了一份有问题的代码 地址如下: https://github.com/webtianjia/test

Gengar-666 commented 5 years ago

@bigmeow 谢谢,放native下是可以的,没仔细看文档- -

bigmeow commented 5 years ago

@webtianjia 问题已定位,你把分包的名字换一下就ok了,不要叫 common, 换个叫packageA 之类的就没问题。原因是你取名叫common的时候拷贝原生小程序组件时也拷贝了一份不完整的小程序原生组件common到你的common目录,说起来有点绕,你看下生成后的common目录就明白了

webtianjia commented 5 years ago

@bigmeow 意思是说分包不能叫common 会与原生小程序冲突?

bigmeow commented 5 years ago

嗯,目前是这样,多拷贝了一些东西,具体有空再查找原因,目前你可以先通过改分包名字来规避