4.express 框架
express
express
中文:http://www.expressjs.com.cn/
库:jquery 一堆 的属性和方法
框架:express vue react angular 解决特定问题
一.安装:npm i express
二.搭建静态服务器:读文件
npm i express-static
(已经不用 express-static,改用express.static)
原生里res.end()//里面只能是string或buffer;
三.express里res.send()
可以将对象直接转成标准的json,数字只能填写状态码,true返回true字符串
express.static会直接访问index.htnl
四.静态服务器可以配置多个路径
server.use(express.static("www1"));
server.use(express.static("www2"));
先访问第一个路径,有的话直接显示,没有的话访问第二个;
五.静态服务器可以配置虚拟目录
server.use("/aaa",express.static("www1"));
server.use("/bbb",express.static("www2"));
防爬虫,必须要加虚拟目录才能访问
总结:
1引入
var express = require("express");
2、创建服务
var server = express();
3、监听
server.listen(9000);
4、配置静态服务器
server.use(express.static("www"));
1、静态服务器可以配置多个
2、可以配置虚拟路径
3、写法问题
path.join/relative/resolve
推荐 :express.static("www") 简单 简便
path.join(__dirname,"www");
path.relative(__dirname,"www");
path.resolve(__dirname,"www");
path.resolve(__dirname,"/www");错误 //绝对路径是www
path.resolve("www");
方法:路由
get/post/use(req,res,next);
中间件 ---> 必须有next
app.use(fn);
路由
app.use("/");
get:获取数据 req.query
post:获取数据 req.body
body-parser
extended:true 高级模式 false:普通 没有区别
app.use(express.urlencoded({extended:false}));
server1.js
var express = require("express");
//var bodyParser = require("body-parser");
//创建服务器
var app = express();
//监听
app.listen(9000);
//配置静态服务器
app.use(express.static("www"));
//中间件
app.use(express.urlencoded({extended:false}));
app.use("/login",function(req,res,next){
console.log(2,req.body);
res.send("over");
});
//app.use(bodyParser.urlencoded({extended:false}));
res:
$ node server1.js
2 { user: 'aaa', pass: '123' }