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。

  

时间: 2024-12-14 07:03:54

express紧急回顾随笔的相关文章

Express请求处理管线 随笔

const exp = require('express'), app = exp() function utf8(req, res, next){ // res.set()设置响应头, // 还可以写成res.set({})批量设置响应头 // 在Content-Type响应头中设置编码可以解决乱码问题 res.set('Content-Type', 'text/html; charset=utf-8') console.log('设置字符编码') // 将请求交给下一个函数处理 next()

跟着老公学习html回顾随笔JS(*^__^*)

1.position relative:相对于元素原来的位置的定位 abstract:绝对定位  相对于从属的父类的定位对于指定的父类的话 父类要加上 relative或abslut属性 2.animate:从一个状态 逐渐变为另一个状态 3.eq :eq() 选择器选取带有指定 index 值的元素. index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1). 选择p元素的第二个 4.有遮罩层的css弹框 html: <div id="fade">

html回顾随笔JS(*^__^*)

---恢复内容开始--- map遍历 function b(){ var week = new Map(); week.set("Mon","星期一"); week.set("tues","星期二"); week.set("Wed","星期三"); week.set("thurs","星期四"); value = week.get("th

express 随笔

#express 1.使用Express 应用生成器 npm install express-generator -g 2.创建一个命名为 myapp 的应用 express myapp 3.安装所有依赖包 cd myapp npm install 4. linux启动 DEBUG=myapp npm start windows启动 set DEBUG=myapp & npm start pm2启动 pm2 start ./bin/www 5.访问 http://localhost:3000/

【随笔】express中间件系统的基本实现

一直觉得express的中间件系统这种流式处理非常形象,就好像加工流水线一样,每个环节都在针对同一个产品的不同部分完成自己的工作,最后得到一个成品.今天就来实现一个简易的[中间件队列]. 一. API层 初始化方法 let middleware = new MiddleWare(); 添加中间件函数的方法 //Fn为被添加的中间件 middleware.use(Fn); 启动中间件队列 middleware.start(req, res); 二. 核心类的定义 class MiddleWare{

关于最近一些问题和知识点的回顾的随笔

1.看代码时发现了JQuery的end()方法:该方法能够结束JQuery命令链中当前的筛选操作,并将匹配元素集还原为原本的状态.JQuery文档中是这么定义的:JQuery回到最近的一个“破坏性”对象之前,即将匹配的元素列表还原为前一次的状态. 比如,$("p").find("span").end().css("border", "2px red solid"); 这里就是先找到p下的span元素,然后调用end(),再返回

程序员之路--回顾2015,展望2016

一.前言 回顾2015年,有太多的事情,从暑假末的来北京找工作,到家里兄弟的结婚,再到自己喜欢的人也来到北京找工作,,,有太多的需要来回忆,来记录.今天就在此刻(2016年1月3日下午10:17)来简单的对2015年的自己进行总结,然后规划一下2016年的奋斗目标. 二.先谈谈工作 从暑假结束快要结束的时候,看看原来写的随笔,也就是2015年8月22日,和同学一起踏上开往北京的火车.用了一个月的时间找到了一份自己还觉得不错的工作.找工作那一个月里面每天吃饭.看书.面试.睡觉.这里想对将要找工作的

node 进阶 | 通过node中如何捕获异常阐述express的特点

node如何捕获异常 node基于js的单线程,有了非阻塞异步回调的概念,但是在处理多个并发连接时,并发环境要求高,最重要的是单线程,单核CPU,一个进程crash则web服务都crash,但是为什么node还这么火?甚至有了Node工程师这个岗,肯定就是node有自己crash之前与之后的解决方法,比如捕获异常 问:nodejs如何捕获异常?答:回调函数中有err形参,console.log出来,这是我之前回答别人问题的答案,但是自从我这几天看了如何捕获异常,才知道捕获异常的精髓就是不要让服务

Nodejs学习(二)-express生成器

1.安装生成器 sudo npm install express-generator -g 2.做ln链接,这个我就不介绍了,可以参照上个随笔,指向/usr/local/bin就行. 3.生成项目文件 sudo express -e testapp -e 是指名视图引擎使用ejs,实在是受不了jade那种的. testapp是生成的项目文件 然后进入testapp,添加依赖项 cd testapp sudo npm install 4.启动项目 npm start 好了,打开localhost: