前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发 | 一篇文章,带你从 0 到 1 开发小程序插件

开发 | 一篇文章,带你从 0 到 1 开发小程序插件

作者头像
知晓君
发布2018-07-04 16:14:36
4090
发布2018-07-04 16:14:36
举报
文章被收录于专栏:知晓程序知晓程序

作者:郑智文

知晓程序注:

前不久,微信释放了一个重磅新能力:微信小程序插件功能。有了它,小程序开发者就可以通过这个功能,强化自身小程序能力;小程序服务提供商也可以用它,为开发者、用户提供强大的小程序功能支持,进一步拓展小程序能力。

插件固然好,但如何从零开发一个插件呢?今天,知晓程序就来手把手,教你如何从零开发一款微信小程序插件。

关注「知晓程序」微信公众号,回复「开发」,获取小程序开发技巧大全。

新建插件工程

新建插件的操作非常简单。只需要在微信开发者工具中新建小程序项目,并选择「建立插件快速启动模板」即可,开发者工具就会自动创建插件项目。

需要注意的是,新建项目时,需要确保选择的项目目录是空目录,否则不会显示「建立插件快速启动模板」选项。

插件目录结构

生成的项目结构主要分为两大块,一个是 plugin,一个是 miniprogramplugin 中放置我们插件的逻辑代码,主要分为 apicomponents 两个部分; miniprogram 中放置的是插件的使用示例或者测试示例。

插件 API 接口开发

以写一个返回「hello world!」的接口为例,我们可以在 plugin/api/data.js 中写下如下代码:

代码语言:javascript
复制
function sayHelloWorld() {  return 'hello world!'}module.exports = {
  sayHelloWorld
}

plugin/index.js 中将我们需要暴露出需要给插件使用者使用的接口:

代码语言:javascript
复制
var data = require('./api/data.js')module.exports = {
  sayHelloWorld: data.sayHelloWorld
}

然后在 plugin/plugin.json 的配置文件中,配置插件的入口,默认如下:

代码语言:javascript
复制
{  "main": "index.js"}

然后在 miniprogram 中使用该接口。如在 miniprogram/pages/index/index.js 中使用:

代码语言:javascript
复制
var plugin = requirePlugin("myPlugin")
Page({
 onLoad: function() {
  console.log(plugin.sayHelloWorld())
 }
})

其中 myPlugin 为我们的插件名,微信默认配置。

插件组件开发

同样,以写一个显示 「hello world!」的组件为例,在 plugin/components 下新建一个 helloWorld 文件夹,点击该文件夹,右键生成组件,与普通组件一样,生成以下四个文件。

在 helloWorld.wxml 中编写视图代码:

代码语言:javascript
复制
<view>hello world!</view>

同样,在 plugin/plugin.json 中配置需要暴露给插件使用者使用的组件:

代码语言:javascript
复制
{
  "publicComponents": {
    "hello-world": "components/helloWorld/helloWorld"
  },
  "main": "index.js"
}

在需要引用到该组件的页面的配置文件中,做好配置即可,加入我们要在 index 页面使用,则需要在 miniprogram/pages/index/index.json 中进行如下配置:

代码语言:javascript
复制
{
  "usingComponents": {
    "hello-world": "plugin://myPlugin/hello-world"
  }
}

然后再在 miniprogram/pages/index/index.wxml 中使用:

代码语言:javascript
复制
<hello-world/>

接下来,我们只需完整开发插件,然后选择上传,最后提交审核、发布,其他人就可以使用你的插件了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知晓程序 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档