手把手教你用express搭建个人博客(二)

转自http://www.zhentaoo.com/program/one?id=58a32067aa82ab69510c26be

上篇说到了如何使用express生成器快速生成一个node项目,如果还没看过的话可以回到上一篇。手把手教你用express搭建个人博客(一)

接下来,我会以我现在的博客架构来教大家,如果自学能力比较强可以直接去github看码,https://github.com/zhentaoo/Coconut

  

首先来分析这个项目结构,

app.js:入口文件,项目启动的地方
pakage.json:项目依赖的各个模块,以及启动命令,新手可以从这里找到学习方向
public:打开可以看到是一些前端需要的静态资源 img css js之类的
scripts:你可以放置一些项目需要的脚本,比如打包,定时任务之类
src:
    config:项目的一些核心配置
    controller:控制器,用来处理各种http请求
    middlewares:中间件,可以用来处理通用的逻辑,做一些过滤,权限验证等等
    model:对应数据库的模型
    routes:路由,项目的核心之一
    tools:可以写一些通用方法,工具类放在这里
    views: ejs 页面

其次说一下项目工作的流程

          1:npm start启动server之后,项目会在本地运行并监听3333端口,这时所有通过3333端口进来的http request都会进入router,看下图,会发现所有的请求都会走router。

bbb.png

        2.比如一个请求的路由是/login,那么就会交给index.login处理,而这个index就是controller,login是这个controller的方法,可以打开代码仔细看。           

        3.进入login方法后,便会做一些对应的处理,比如查询数据库之类(这时就需要model模型来协助操作数据库),最终如果查询到这个用户,并且用户名密码匹配,那么就返回正常的页面

        好了,大概流程就是这样,希望大家可以多看代码,博客只是简单的指引,如果感兴趣可以多看看router mongoose的api

原文地址:https://www.cnblogs.com/zhentaoo/p/6407938.html