uni_modules
最后更新于:2022-04-02 03:40:43
[TOC]
> [参考](https://uniapp.dcloud.io/uni_modules?id=%e4%bb%80%e4%b9%88%e6%98%af-uni_modules)
## 概述
通常是对一组js sdk、组件、页面、uniCloud云函数、公共模块等的封装,用于嵌入到uni-app项目中使用,也支持直接封装为项目模板
## 目录结构
```
uni_modules 项目根目录下
└── [plugin_id] // 插件 ID
├── uniCloud 插件内的uniCloud内容会被虚拟合并到项目根目录的uniCloud中(注意:插件内的uniCloud目录,没有-aliyun,-tcb后缀)
├── components 符合vue组件规范的uni-app组件目录,支持easycom规范
├── hybrid 存放本地网页的目录,详见
├── pages 业务页面文件存放的目录
├── static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├── wxcomponents 存放小程序组件的目录,详见
├── license.md 插件使用协议说明
├── package.json 插件配置,必选(除此之外均可选)
├── readme.md 插件文档
├── changelog.md 插件更新日志
├── menu.json 如果是uniCloud admin插件,可以通过menu.json注册动态菜单,详见 menu.json 配置
```
注意:
1. 插件目录不支持pages.json、App.vue、main.js、manifest.json、uni.scss文件
2. 在插件内部引用资源、跳转页面时,请尽量使用**相对路径**
## 插件使用
1. 在项目根目录右键创建 uni_modules
![](https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/de27eb20-6217-11eb-8a36-ebb87efcf8c0.png)
2. 在HBuilderX中uni_modules目录右键点击新建uni_modules插件
![](https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/dd758b10-6217-11eb-8a36-ebb87efcf8c0.png)
3. 发布插件
![](https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/5a4b97a0-6219-11eb-8ff1-d5dcf8779628.png)
使用
1. uni_modules支持组件easycom,使用者可以直接使用插件内符合easycom规范的组件
2. 引入js
```
import {test} from '@/uni_modules/xx-yy/js_sdk/test.js'
```
3. 使用页面
```
{
"pages":[{
"path":"uni_modules/xx-yy/pages/demo/demo" // 按插件所在目录引入对应的页面
}]
}
```
';