源码地址:https://github.com/cnodejs/nodeclub
按照 它的步骤 在系统中跑没有出错,但是注册后没有发送邮件验证码,我将 controller层下面的sign.js 的login 模块修改了一部分 不去验证gen_session的情况下登陆成功。
package.json中的有两种依赖分别是dependencies和devDependencies
它们之前的区别:其中前者依赖的项该是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。
dependencies:
express 基础框架
mongodb 数据存储
mongoose 用于操作mongodb的 orm
connect-mongo:session 存储session
nodemailer 邮件
validator 验证
passport ,passport - github :passport,
loader:ejs-view-helper 静态资源加载处理
其他:event-proxy,node-markdown,ndir
deDependencies
测试框架:mocha should
运行 forever
请求模拟 supertest
nodeclub 是以 express+mongodb +mongoose 作为基本框架的典型 MVC 结构的项目
Model 对应的models 目录
view ejs 模板 views 目录
controller express middleware controller 目录
从node app.js
开始 就是运行 app.js
第一步就是调用了config.js文件
config 定义了一个对象 用于后续调用,同事 进行了node 环境的判断来进行不同的数据库的调用
接下来是一些调用文件或者插件的的定义或者中间件的调用
从 路由入口
app.use('/api/v1',cors(),apiRouterV1);
app.use('/',webRouter);
这里定义了路由的两个文件 api_router_v1.js 和 web_router.js
如果以 /signup 为例子就回进入 router.get('signup') 然后开始调用文件。。。。接着进行下去
proxy目录下面的是定义的数据的形式,用mongoose 的 Schema 里面是写的时哪些字段什么形式的,然后再model 中进行数据处理后在controll 进行简单的处理后进行 渲染到view下面的ejs 模板引擎上面
tools 里面写了3个方法 第一个是格式化时间 第二个是用于检测是否合理 第三个 bhash ??不知道 第四个 bcompare ??
测试这块不懂 mocha 。。。??