首页 > 代码库 > express紧急回顾随笔

express紧急回顾随笔

四行代码搭建服务器

      var express = require(‘express‘);
      var app = express();
      //设定静态路径 所有请求优先在此路径查找
      //不要把服务器配置JS文件和静态页面放在同一个文件夹!!!!
      app.use(express.static(path.join(__dirname, ‘static‘)));
      app.listen(9000);

 

常用插件

      //需要npm install
      //可以在服务器打印请求信息 超级好用
      var morgan = require(‘morgan‘);
      //就这样调用
      app.use(morgan(‘short‘));

 

路由(妈个鸡,被坑了一上午)

    首先是主服务器配置的内容,需要引进对应的专业路由js文件。

      //引入对应的JS文件 可以省略js后缀 因为js会被优先查找
      var apiRouter = require("./router/api_router");
      //注意!!!第一个参数代表对应路径请求转接
      app.use("/index", apiRouter);

    然后是路由js文件对应的内容。

      //话不多说 先引这两
      var express = require("express");
      var path = require(‘path‘);
      //实例化一个路由对象
      var api = express.Router();
      //这个路由处理来自index的post请求
      api.post(‘/‘, function(req, res) {
            console.log(req.body);
            res.sendFile(path.join(__dirname, ‘../static/index.html‘));
      });

    举个例子!

api.post(‘/‘, function(req, res) {
    //获取post请求传入的账号密码
    var user = req.body.username,
        password = req.body.password;
    //进行判断 老子还不会数据库啊
    if (user === ‘admin‘ && password === ‘admin‘) {
        //通过 给你index页面
        res.sendFile(path.join(__dirname, ‘../static/index.html‘));
    } else {
        //失败 回去你的login吧
        res.redirect(‘./login.html‘);
    }
});

     又找到一个坑!

//为了解析post 这个需要在主配置中引用
app.use(bodyParser.urlencoded({ extended: false }));

//默认根路径会指向index.html
//需要在前面使用get劫持请求然后重定向
app.get(‘/‘, function(req, res) {
    console.log(12);
    res.redirect(‘./login.html‘);
});

//设定静态路径 所有请求优先在此路径查找
//不要把服务器配置JS文件和静态页面放在同一个文件夹!!!!
app.use(express.static(path.join(__dirname, ‘static‘)));

 

    大功告成,假设静态目录下有login.html和index.html,login中有一个表单,输入账号密码然后post请求index页面,服务器这边就可以在路由里面搞事情处理这个跳转了。更多内容,等我再出bug。

   

express紧急回顾随笔