最基本的三部分plugin.jsonpackage.jsonlibrary.jsplugin.json示例:
{
"id": "nodebb-plugin-post-comments",
"name": "管理帖子评论",
"description": "anage 帖子评论",
"网址": "-",
"库": "./library.js",
"挂钩": [
{ "挂钩": "filter:scripts.get", "方法": "addScripts" }
] 三个最基本的部分如下所示。我相信id、name、description等属性不需要太多解释。
URL属性:当你把写好的插件放到github上时,这个就是git地址
库属性:是入口文件
Hooks属性:是一个钩子数组,存放钩子和对应的方法。
关于hooks和library这两个属性,谈谈你的理解。
plugin.json 是一个媒人,这里有一个关于她的故事。
{ "挂钩": "filter:scripts.get", "方法": "addScripts" }
有一个叫hook的女人,已经向媒人登记了,hook有一个叫addScripts的小房子,位于library.js小镇。
有一天,一个男人在适当的时候赢得了(火钩)被钩住的女人的心,并给她送上了一份聘礼(参数)。于是媒人通知了女子,女子便在家中接受了聘礼。
接下来的日子里,女方对彩礼做了一些处理,变成了回礼,然后寄回给了男方。至此,婚姻就达成了。
这里的plugin.json是一个非常强大的媒人!这里重要的是时机和礼貌。
配置将新插件添加到/package.json。
"nodebb-plugin-post-comments": "file:/plugins/nodebb-plugin-post-comments" 好了,从这里你应该可以看到这个新插件是在项目根目录/plugins下创建的/nodebb-插件后评论。
那么为什么要这样写呢?没错,我们上传GIT的时候并没有上传node_modules文件夹。所以我们要在外面编写新插件。我们从GIT克隆之后,只需要执行
npm 我会没事的。
script文件的引入首先我们需要找到一个钩子,这里我们使用filter:scripts.get,
添加js文件main.jsnodebb-plugin-在plugin.json中添加两句"staticDirs": {
"lib": "公共/lib"
},
"脚本": [
"lib/main.js"
] 注意:第五行的lib是public/lib,这个很有趣。哈哈!
然后在源码中搜索filter:scripts.get,找到plugins.fireHook("filter:scripts.get", [], next);这里主要看参数,找到一个空数组和一个回调函数。
所以呢,
library.js中函数addScripts方法的两个参数是[]、next。
接下来,scripts.push("plugins/nodebb-plugin-post-comments/lib/main.js");
回调(空,脚本);里面的回调一定要写,不然会报警告说回调超时什么的。
在本例中,我们将添加js 脚本。
你可以在脚本中操作页面,做各种你需要的事情。
【NodeBB插件开发教程:构建最小可行产品】相关文章:
用户评论
这篇文章一定能帮我想明白了如何开始写NodeBB插件!
有12位网友表示赞同!
看到“MVP”让我有点兴奋,正好是我目前想做的!
有8位网友表示赞同!
我之前想弄一个自己的社区论坛,不知道NodeBB好不好用?
有14位网友表示赞同!
学习一下 NodeBB,感觉可以拓展一下技能.
有15位网友表示赞同!
现在很多平台都提供插件功能,这篇文章很有研究价值。
有9位网友表示赞同!
写插件是个不错的尝试,看看自己能做出什么酷的东西。
有15位网友表示赞同!
MVP 这个概念真是太重要了,先做个基础版本再改进!
有8位网友表示赞同!
我想我的论坛也需要一些个性化功能,或许可以用插件实现.
有14位网友表示赞同!
NodeBB 听起来很吸引人,特别是对于想学习前端开发的来说?
有19位网友表示赞同!
以前没接触过NodeBB 这玩意,这篇文章正好让我了解一下.
有14位网友表示赞同!
写插件需要哪些技能呢?感觉技术门槛会不低吧?
有13位网友表示赞同!
MVP 开发模式很实用,这样就能快速验证想法。
有19位网友表示赞同!
我对 NodeBB 插件的开发方向很有兴趣,希望能了解更多细节。
有17位网友表示赞同!
我已经有了一个插件的想法,这篇文章可以帮到我!
有14位网友表示赞同!
不知道本文会介绍哪些常用的NodeBB插件开发?
有10位网友表示赞同!
写插件过程中都会遇到什么困难呢?希望能从文中有所启发。
有5位网友表示赞同!
学习新的技术总让人兴奋,期待这篇文章带给我新知识!
有14位网友表示赞同!
NodeBB 开发真的那么简单吗?感觉我的编程能力不太够.
有16位网友表示赞同!
这篇文章正好适合我最近想学习 NodeBB 的目标。
有9位网友表示赞同!
我很想自己写一个插件,看看能为论坛用户带来什么样的体验!
有10位网友表示赞同!