阅读NodeBB源码之过程一

一:

从项目的启动开始     ./nodebb start
在项目中查看有没有含有‘nodebb’的文件
找到项目中的/nodebb,打开后查找‘start’关键字
找到类似 ./nodebb start命令的东西,仔细查看之后发现走不下去了这条线就断了

二:

打开开发者工具,查看页面代码,选取标签class名在项目中进行查找
应该是可以找到很多,这个时候参考url,进行筛选。
然后进入到相应的.tpl文件中,发现到这里又走不下去了,因为里面只是页面的div

三:

从url入手,联想之前做过的项目,我们就可以去查找路由
查找路由文件,使用快捷键CTRL+SHIFT+a查找文件
找到/src/routes/index.js
点击进去搜索请求路径,注意如果有数字的话,要考虑这个数字是否是自动生成的。
同时我们还发现在/src/routes/api.js,也去到这个文件里面搜一下

对于搜索的结果我们要大胆的猜测:

在文件里面我们发现了
router.get('/topic/teaser/:topic_id', controllers.topics.teaser);
router.get('/topic/pagination/:topic_id', controllers.topics.pagination);

那么可以猜想这个类似的url可能与controller有关
查看本文件内的controller从哪里来,但是没有找到,
那就试着查找controller文件
找到了在/src/controllers下有一堆js文件,查找url里面的关键词,找到了,进入搜索,猜想

很幸运的是我们找到了那个文件,在里面查找了url,找到了!
猜想url所在的函数的功能,发现是数据库相关的,那么打开数据库吧。

在数据库中查看nodebb数据库中的collections,
有两张表,查看数据
然后就是验证猜想,将代码,数据库和网页结合起来看。
在代码中看属性名称,在数据库中找到相应的记录,猜测功能,然后在网页上进行操作,再查看数据库的变化,从而验证猜想。

最终搞定两张表。

你可能感兴趣的:(阅读NodeBB源码之过程一)