美文网首页
nodebb源码阅读(3)

nodebb源码阅读(3)

作者: 恐怕是小珠桃子 | 来源:发表于2016-11-01 20:24 被阅读519次

通过前几天的学习和探索我知道要向nodebb里添加“回复post”的功能就要编写新的插件,参考nodebb编写插件,以及源码里现有插件的编写方式,目录结构如下:

写在nodebb/node_modules/目录下的插件

具体写法可分为以下几步:

  • 找到合适的钩子放在plugin.json里,我找到三个要用的钩子,其中"hook": "filter:post.getPosts"可以在用户点击某一个topic是获取到整个页面所有topic的信息
{ 
 "id": "nodebb-plugin-post-comments", 
   "library": "./library.js",  
   "hooks": [    { "hook": "filter:scripts.get", "method": "addScripts" },   
                 { "hook": "static:app.load", "method": "init" },    
                 { "hook": "filter:post.getPosts", "method": "showPosts" } 
            ],  
"staticDirs": {    "lib": "public/lib"  }
}
  • 去library.js里实现hooks里的method,addScripts函数主要负责将main.js文件加入进来;init是一个初始化函数,showPosts函数中要用到init传过来的app;showPosts里是一个get请求,当用户触发一个topic页面时,将所有posts数据传至main.js(前端)进行处理(处理这个get请求的前提是在main.js里有一个对应的ajax请求)
var bodyParser = require('body-parser');
var app;

var comments = {
    addScripts: function(scripts, callback) {
    scripts.push('plugins/nodebb-plugin-post-comments/lib/main.js');
    callback(null, scripts);
    },

    init: function(params, callback) {
        app = params.router,
        callback();
    },

    showPosts: function(data,callback) {

        app.get('/post/getComments',function(req,res,callback) {

            res.json(JSON.stringify(data));
        })
        callback(null, data);
    },
};

module.exports = comments;
  • 对后端传过来的数据进行渲染(目前未实现,后续更新......)

相关文章

  • nodebb源码阅读(3)

    通过前几天的学习和探索我知道要向nodebb里添加“回复post”的功能就要编写新的插件,参考nodebb编写插件...

  • nodebb源码阅读(1)

    clone源码并启动程序 点击进入官方github,将代码克隆至本地 到项目根目录下执行npm i安装依赖 配置m...

  • nodebb源码阅读(2)

    根据数据库中原有的数据结构设计出用户评论的数据结构 之前邱和优优一起总结了一篇研究NodeBB发布一个topic数...

  • 关于index文件调用查找

    今天研究NodeBB源码,我和李优优pair 想要研究NodeBB上发布一个topic的过程 我们根据topic所...

  • 阅读NodeBB源码之过程一

    一: 二: 三: 对于搜索的结果我们要大胆的猜测: 很幸运的是我们找到了那个文件,在里面查找了url,找到了!猜想...

  • 阅读NodeBB源码之过程二

    今儿的任务是研究topic的发布过程,依着昨天的的方法,我们开始了。从topic开始,顺藤摸瓜 我们尝试在inde...

  • 如何实现 NodeBB 的单点登录?

    如何实现 NodeBB 的单点登录? NodeBB 的 hook NodeBB 的钩子分两种:过滤器和执行器。 f...

  • 一些值得收藏的文章

    1.Android 源码分析——阅读源码工具选用 2.阅读源码的经验总结 3.windows环境下 android...

  • Ubuntu下WebStorm快捷键不起作用

    这里主要说一下ctrl+'/'不起作用,如何解决的. 发现这个问题,是在看NodeBB源码的时候,需要使用cons...

  • 修改NodeBB源码的.tpl文件

    这里主要记录的是在修改途中所遇到的问题。搞笑的经历 茫茫“扣嘚海”中,我游啊游,找啊找,游啊,找啊,游,找……待续——

网友评论

      本文标题:nodebb源码阅读(3)

      本文链接:https://www.haomeiwen.com/subject/shomuttx.html