学node的一点小笔记(九) express(1)

时间:2022-08-14 02:15:29
//express是一个简洁而灵活的node.js web应用框架,提供了一系列强大特性创建各种web应用,和丰富的http工具
//使用express可以快速搭建一个完整功能的网站
//核心特性:
//可以设置中间件来响应HTTP请求
//定义了路由表用于执行不同的HTTP请求动作
//可以通过向模板传递参数来动态渲染HTML页面
var express = require( 'express');
var app = express();

app. get( '/', function( req, res){
res. end( "hello,wrold");
// console.log(req.hostname,req.ip)
console. log( req. query)
})

var server = app. listen( 8081, function(){
var host = server. address(). address;
var port = server. address(). port;
console. log( host+ '\n')
console. log( port)
})

//请求和响应

//request对象
//req.app:当callback为外部文件时,用req.app访问express的实例
//req.baseUrl:获取路由当前安装的url路径
//req.body/req.cookies:获得请求主体/cookies
//req.fresh/req.stale:判断请求是否还“新鲜”
//req.hostname/req.ip:获取主机名和ip地址
//req.orginalUrl:获取原始请求url
//req.params:获取路由的parameters
//req.path:获取请求路径
//req.protocol:获取协议类型
//req.query:获取url的查询参数串
//req.route:获取当前匹配的路由
//req.subdomains:获取子域名
//req.accepts:检查可接受的请求的文档类型
//req.get()获取指定的HTTP请求头
//req.is():判断请求头Content-Type的MIME类型

//response对象
//res.app:同req.app
//res.append():追加指定HTTP头
//res.set():在res.append()后将重置之前设置的头
//res.cookie(name,value[,option]):设置cookie
//options:domain/expires/httpOnly/maxAge/path/secure/signed
//res.clearCookie():清除cookie
//res.download():传送指定路径的文件
//res.get():返回指定的HTTP头
//res.json()/res.jsonp():传送json/jsonp响应
//res.location():只设置响应的location HTTP头
//res.redirect():设置响应的location HTTP头,并且设置状态码302
//res.render(view,[locals],callback):渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生,next(err)将会被自动调用。callback将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了。
//res.send():传送HTTP响应
//res.sendFile(path[,options]):传送指定路径的文件-会自动根据文件extension设定Content-Type
//res.set():设置HTTP头,传入object可以一次设置多个头
//res.status:设置HTTP状态码
//res.type():设置Content-Tyoe的MIME类型