# 彻夜通读小程序「插件」文档后，我们帮你划了这几个开发重点

- 作者：Astrian
- 发布时间：2018-03-14 19:00
- 原文：https://www.ifanr.com/minapp/995167

### ![](https://s3.ifanr.com/wp-content/uploads/2018/03/hpjm.jpg)

昨日，微信团队发公告称释放了两个新能力，**小程序「插件」功能**，以及**开发者工具新增「代码片段」功能**。

微信团队将其称之为「共享」开发模式。这意味着，即使你是个人开发者，但你的插件或是代码，可以交给其他开发者「帮」你维护和更新。

官方对于这两个新能力做出了以下解释：

**小程序「插件」功能**

- 开发者可以像开发小程序一样开发插件，供其他小程序使用；
- 其他开发者无需重复开发，可在小程序内直接使用插件，为用户提供更便捷的服务。

**开发者工具新增「代码片段」功能**

开发者可以生成项目链接让他人在开发者工具中导入和运行小程序代码，便于开发者之间分享小程序开发经验、学习小程序教程、反馈 bug 等。

今天，知晓程序将为你带来更为详尽的解读，手把手教你运用小程序新能力。

### 小程序「插件」的使用指南

对于插件的使用，分为两个步骤：**开发和引入**。

想要开发插件，首先需要进入公众平台，登录小程序后台，在左侧选择「小程序插件」，紧接着，你需要为插件补充名称和图标（头像）。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/7-7.png)

提交信息之后，我们就可以在最新版开发者工具中新建插件了。

在开发者工具中，我们按照正常步骤新建一个小程序项目，并选择「建立插件快速启动模板」。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/4-8.png)

插件项目建立完成之后，开发者工具就会自动新建一个插件项目。

需要注意的是，插件项目会自带一个空白的小程序项目，用于开发者对插件功能进行调试、测试，同时，该小程序项目也会同时提交给微信，便于微信官方对插件功能进行评估和审核。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/6-5.png)

工程中的「plugin」文件夹，就是插件所有代码存放位置。打开「plugin」文件夹，我们可以看到插件的大致工程结构组成。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/5-5.png)

- `plugin.json`：插件描述文件，描述插件组件功能和功能文件名；
- `index.js`：插件运行的主代码；
- `api`：插件接口文件夹；
- `components`：视觉元素文件夹。

事实上，只有 `plugin.json` 的文件是被固定名称的，其他文件、文件夹的名称和结构，都可以自定义，并在 `plugin.json` 文件中被声明。

插件的 API 接口代码写法与引入一致，利用 `module.exports` 方法暴露接口，在小程序中，可以利用 `requirePlugin()` 方法，引入小程序的方法接口，直接在小程序中进行调用。

而视觉组件也可以引入到小程序中使用。在页面的 JSON 描述文件中声明使用的插件视觉组件后，在页面 WXML 文件中，就可以直接使用。

```
// page.json
{
  "usingComponents": {
    "list": "plugin://myPlugin/list"
  }
}
```

开发者开发完插件之后，可以通过开发者工具提交插件。之后，在小程序后台中，就可以提交插件审核，通过并发布之后，其他开发者就可以直接使用插件。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/8-2.png)

如果其他开发者想要使用插件，需要插件开发者提供插件所属的小程序 AppID。在自己的小程序后台选择「设置」-「第三方服务」-「插件管理」中选择「添加插件」，输入插件 AppID，提出插件使用申请。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/9-5.png)

开发者可以在小程序插件审核插件使用申请，可以通过、拒绝申请。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/10-3.png)

完成后，插件使用者就可以在自己的小程序开发过程中，在小程序 JSON 描述文件中插入相应插件的 AppID，并按以上方法完成插件的使用。

```
{
  "pages": [
    "pages/index/index"
  ],
  "plugins": {
    "myPlugin": {
      "version": "0.0.1",
      "provider": "wx000000000000"
    }
  }
}
```

### 开发者工具「代码片段」使用指南

相比之下，代码片段的使用就显得简单许多。

开发者如果希望分享一部分小程序代码给其他人，只需在开发者工具中选择「新建代码片段」，为代码片段起名，就可以编辑代码片段了。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/11-4.png)

「代码片段」实际是一个相对完整的小程序工程项目。我们可以像是在「沙盒」里一样，在代码片段中随意引入自己的代码。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/12-4.png)

完成后，只需点击「分享」按钮，填写一些必要信息，开发者工具就会生成一个链接，供你将代码片段分享出去。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/2018_03_14_10.27.31_2-1.gif)

这段链接可以被引用在任意网页中，只要电脑安装开发者工具，就可以直接启动；也可以使用开发者工具中直接导入的方式，直接打开代码片段。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/13-2.png)

### 两个新能力的适用场景

可以看出，虽然都是对小程序代码的复用，但「插件」和「代码片段」两个能力的出发点还是有较大不同的。

「插件」注重对于开发者的服务，通过插件能力，小程序服务提供商可以将自己的小程序服务进一步地组件化，小程序开发者也可以通过插件功能，自由组合第三方服务到自己的小程序中，在降低开发门槛的前提下，增强小程序本身的功能。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/types_plugin_custom_fields.jpg)

同时，由于插件能力可以被不断地复用在各种各样的小程序中，类似小程序广告等服务的使用门槛会进一步降低；一些小程序组件也可以通过销售组件使用权限，获取利润。

「代码片段」功能的出发点就更为明显了：用于开发者间的小程序开发学习，同时可以将出现问题的代码轻松发给其他技术大牛进行诊断。说白了就是以后复制别人的代码再也不用按 Ctrl+C 了。

### 开发文档重点解读

插件新能力虽然很棒，但它们也有不同的适用范围和限制条件。知晓程序（微信号 zxcx0101）就来为你总结这两个新能力的使用条件与限制。

**1. 只有企业、媒体、政府及其他组织主体的小程序才能开发插件**，主体类型为个人的小程序不能开发插件，但可以使用插件。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/5-9.jpg)

**2. 插件暂不支持在体验版中体验。**如果没有 AppID 进行小程序开发，将无法使用插件。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/3-8.png)

**3. 插件发布前需要提交微信小程序团队审核，审核通过后才可发布。**提交审核时，插件开发者需要填写以下信息：插件服务类目、标签及功能描述。同时，在审核插件代码的时候，微信同样会对其中的小程序代码进行审核，以完整审核插件的功能。

**4. 插件的名称和头像一旦提交将无法修改。**不知道以后这个政策会不会修改呢？

**5. 每个小程序 AppID 只能创建一个插件。**也就是说，如果想要创建多个插件，注册多个小程序帐户是免不了的了。

想要了解更多新能力的详情，可以查看微信官方文档：<http://mp.weixin.qq.com/s/Zcyec0QvxNBQJOKmAGDATQ>

**关注「知晓程序」微信公众号，回复「新能力」，查看小程序新能力最全解读。**

![](https://s3.ifanr.com/wp-content/uploads/2018/01/qrcode.gif)
