美文网首页
3. Express.js 框架

3. Express.js 框架

作者: Tony_HQ | 来源:发表于2016-10-15 23:06 被阅读0次

    Express是个精炼的框架,但是充满的所有的可能性。

    A. 结构
    B. 路由
    C. 中间件
    D. 静态文件

    结构

    > project name
      >bin
        >www//程序入口
      >middleware
      >node_modules
      >routers
      >views
      >app.js //路由配置,中间件配置
      >package.json//modules配置文件
      >public.zip
      >routes.zip
    

    同类文件多放在一个文件夹里,是个不会错的好习惯。

    路由

    router提供了put,delete,get,post等函数。
    router/userRouter.js

    var express = require('express');
    var router = express.Router();
    router.put('/',function(req,res){
      req.session//获取session
      req.body//获取body
      //建议console.log(req)一下,就知道里面都有什么了,对应怎么取
      //Multipart 需要配置好上篇文章里提到的 multiparty 库,
      //...
      var _jsonObject={};
      res.status(statusCode).send(_jsonObject);
    })
    

    最后结尾

    module.exports=router;
    

    在app.js里

    var userRouter=require('./routers/userRouter');
    app.use('/user',userRouter);
    

    完成路由配置。

    中间件

    这就是自带的一个小型中间件,利用next

    app.use(function(req, res, next) {
      var err = new Error('Not Found');
      err.status = 404;
      next(err);
    });
    

    小坑,记得解析cookies等中间件需要放在router前面,这样router来路由的时候才能正确取得cookies等数据。

    静态文件

    app.use(express.static(path.join(__dirname, 'public')));
    

    其他

    理解Express的框架以上就可以有个基础的概念了,Node的优势在此,劣势亦是如此,随意性很大。如何写出简介、模块化的JS,才是Node最难的部分。
    将数据库读取封装成DAO,把业务逻辑封装成Service,最后路由引用Service,是我的一个做法。
    多用编程模式,例如权限的判断,可以写一个小模块,使用工厂模式(可以加入,可以修改,可以退出等)。
    等以后经验更足了,会开一篇文章来分享一下我对于美丽的代码的想想。

    相关文章

      网友评论

          本文标题:3. Express.js 框架

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