当前位置:网站首页>uni-app:关于自定义组件、easycom规范、uni_modules等问题
uni-app:关于自定义组件、easycom规范、uni_modules等问题
2022-07-30 05:41:00 【前端小白jyj】
1. 结论:使用uni-app框架时,如何创建自定义组件?
官方推荐新建符合easycom规范的组件,不推荐手动引入组件。方法:
1.根目录下新建components目录,右键新建组件,然后在对应的组件名称/组件名称.vue文件里编写代码。

2.根目录下新建uni_modules目录(选择uni ui项目模板,会自动生成uni_modules目录),右键新建uni_modules插件,然后在对应的components/组件名称/组件名称.vue文件里编写代码。

2. 前置:
官方推荐在HBuilderX新建项目时,直接选择uni ui项目模板,然后在代码里直接敲u,所有组件都拉出来,不用引用、不用注册,直接就用。
这时项目目录下会有一个uni_modules文件夹,即是存放uni ui插件的文件夹。
为什么这些组件不用引用、不用注册,直接就能用?因为有easycom。
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。uni-app的easycom将其精简为一步。
3. easycom组件规范:
只要组件安装在项目的components目录下或uni_modules目录下,并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用。
注意:并不是必须在项目的components目录新建自定义组件,也可以在uni_modules目录下新建自定义uni_modules插件,然后在对应的components/组件名称/组件名称.vue文件里编写代码。
easycom是自动开启的,不需要手动开启。有需求时可以在pages.json的easycom节点进行个性化设置,如关闭自动扫描,或自定义扫描匹配组件的策略。
如果你的组件名称或路径不符合easycom的默认规范,可以在pages.json的easycom节点进行个性化设置,自定义匹配组件的策略
4. 说明
easycom方式引入的组件无需在页面内import,也不需要在components内声明,即可在任意页面使用easycom方式引入组件不是全局引入,而是局部引入。例如在H5端只有加载相应页面才会加载使用的组件- 在组件名完全一致的情况下,
easycom引入的优先级低于手动引入(区分连字符形式与驼峰形式) - 考虑到编译速度,直接在
pages.json内修改easycom不会触发重新编译,需要改动页面内容触发。 easycom只处理vue组件,不处理小程序专用组件(如微信的wxml格式组件)。不处理后缀为.nvue的组件。但vue组件也可以全端运行,包括小程序和app-nvue。可以参考uni ui,使用vue后缀,同时兼容nvue页面。nvue页面里引用.vue后缀的组件,会按照nvue方式使用原生渲染,其中不支持的css会被忽略掉。这种情况同样支持easycom。
5.相关官方文档:
uni-app官网
https://uniapp.dcloud.io/collocation/pages.html#easycom组件使用的入门教程 | uni-app官网
https://uniapp.dcloud.io/component/#uni-module%E8%A7%84%E8%8C%83
uni_modules | uni-app官网
https://uniapp.dcloud.io/plugin/uni_modules.html
边栏推荐
猜你喜欢

MySQL 安装报错的解决方法

384.打乱数组

目前主流浏览器以及对应的内核

cnpm installation steps

Qt在QTableWidget、View等表格中添加右击菜单

“tensorflow.keras.preprocessing“ has no attribute “image_dataset_from_directory“

Qt实现一个重复文件检测小工具(原理:通过md5校验)

pycharm专业版 配置pytest

50道SQL练习题(刷完直接进大厂)

net start mysql MySQL service is starting. MySQL service failed to start.The service did not report any errors.
随机推荐
【线性神经网络】线性回归 / 基础优化方法
[GLib] What is GType
面试前需要巩固的算法知识点(自用,更新中)
Art-template 中文文档[详细篇]
I/O多路复用技术
Qt通过QSttings类读取*.ini配置文件
[详解C语言]一文带你玩转数组
417.太平洋大西洋水流问题
多进程实现并发服务器
条件变量解决生产者消费者问题
[GStreamer] The name of the plugin should match GST_PLUGIN_DEFINE
flask-socketio实现的网页聊天室(二)
Redis简单了解
net start mysql MySQL service is starting. MySQL service failed to start.The service did not report any errors.
SRA数据下载方法总结
【Pytorch】torch.manual_seed()、torch.cuda.manual_seed() 解释
Numpy 中 np.vstack() 和 np.hstack() 简单解析
初识C语言
It is enough for MySQL to have this article (37k words, just like Bojun!!!)
pycharm专业版 配置pytest