一、什么是easycom?

easycom是UniApp提供的组件自动导入机制

无需手动引入组件import),

无需手动注册组件components选项),

只需在模板中使用组件标签(如<my-component>),

UniApp会自动根据组件命名规范查找并导入组件。

easycom是效率特性,翻译过来就是组件自动导入机制。

它是UniApp提升开发效率的关键特性之一,

尤其适合多组件项目第三方组件库(如uni-ui)的使用。

二、easycom的工作原理

easycom的核心逻辑是约定大于配置

通过组件文件名组件标签名的对应关系,自动匹配组件文件路径

约定大于配置:组件文件名 组件标签名;这里的组件标签名是说什么?

1 - 默认匹配规则

UniApp的默认easycom规则是:

组件标签名 = 组件文件名(小写 + 短横线分隔),

且组件文件需放在以下目录中:

  • components/组件名/组件名.vue(推荐,更符合模块化规范)

  • components/组件名.vue(简化版)


例如:

  • 组件文件路径:components/my-component/my-component.vue

  • 组件标签名:<my-component>直接使用,无需导入

2 - 匹配流程

当你在模板中使用<my-component>时,

UniApp会执行以下步骤:

1、解析组件标签名my-component

2、根据默认规则,查找以下路径的文件:

  • components/my-component/my-component.vue(优先)

  • components/my-component.vue(次之);

3、找到文件后,自动生成import语句(编译时处理);

4、自动将组件注册到当前页面/组件的components选项中。

根据组件标签名,去对应目录路径下找组件名,自动导入、自动注册。

更多推荐