相信做过小程序的都遇到过Component is not found in path “components/xxx/xxx“ (using by “pages/xxx/xxx“) 这个问题,一般情况的是引用路径有问题,检查代码路径改对就好了,又或者是分包影响的
先说一下我得使用场景,不一定适用于所有人,只是记录一下我遇到的
1.小程序是分包的
2.主包下有个components
公用组件文件夹 (主包资源(如wxss、js、wxs、component、图片、template)是全局的, 主包和子包都能引用)
3.我的某个需求用到主包下面的business
和mouth
两个子包里的内容 (子包相当于有自己独立的作用域, 只能使用自己的或主包的资源, 不能使用其他子包的资源)
4.因为还有其他的业务就顺手在business
里有个页面内定义了一个功能型组件A
,这个A
在mouth
里也要进行使用(因为mouth
有个一模一样的页面,可能以前同事写的,根据权限写了两份),A
在business
和mouth
里的引用路径:/pages/business/xxx/A/index
。
然后在
business
里无异常,在mouth
里报错 Component is not found in path “components/xxx/xxx” (using by “pages/xxx/xxx”) 这个问题。
5.第一时间我觉得是引用路径
写错了,然后检查路径确认无误之后还是报错,就想了下它们是不是在同一个子包内
,打开app.json
的subpackages
里确认了一下,是两个子包 (子包资源不能共享的)
6.然后我就将business
里的功能型组件A
放到主包资源components
里,然后其他子包引用主包的资源就可正常使用了。
7.so,遇到Component is not found in path “components/xxx/xxx” 这个错误大部分都是引用路径错误,或者引用不规范导致的,认真检查一下
什么引用组件的json文件的{ component: true },这是基本语法,这种就不啰嗦了。文章来源:https://www.toymoban.com/news/detail-784285.html
总结:文章来源地址https://www.toymoban.com/news/detail-784285.html
- 检查当前文件内组件
引用路径是否正确
(在语法正确的前提下) - 检查是否是小程序
子包资源的互相引用导致
(在小程序分包前提下) -
主包资源
(如wxss、js、wxs、component、图片、template)是全局
的,主包
和子包
都能引用(在小程序分包前提下) -
子包
有自己独立的作用域
, 只能使用自己
的或主包
的资源, 不能使用其他子包的资源(在小程序分包前提下)
到了这里,关于Component is not found in path “components/xxx/xxx“ (using by “pages/xxx/xxx“) 问题记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!