Express框架的方法使用 https服务器搭建
dearweb 发布:2021-08-26 10:23:56阅读:Express框架的方法使用,all方法和HTTP动词方法,set方法,response对象,requst对象以及https服务器搭建。
all方法和HTTP动词方法
针对不同的请求,Express提供了use方法的一些别名。比如,上面代码也可以用别名的形式来写。
var express = require("express"); var http = require("http"); var app = express(); app.all("*", function(request, response, next) { response.writeHead(200, { "Content-Type": "text/plain" }); next(); }); app.get("/", function(request, response) { response.end("Welcome to the homepage!"); }); app.get("/about", function(request, response) { response.end("Welcome to the about page!"); }); app.get("*", function(request, response) { response.end("404!"); }); http.createServer(app).listen(1337);
上面代码的all方法表示,所有请求都必须通过该中间件,参数中的“*”表示对所有路径有效。get方法则是只有GET动词的HTTP请求通过该中间件,它的第一个参数是请求的路径。由于get方法的回调函数没有调用next方法,所以只要有一个中间件被调用了,后面的中间件就不会再被调用了。
除了get方法以外,Express还提供post、put、delete方法,即HTTP动词都是Express的方法。
这些方法的第一个参数,都是请求的路径。除了绝对匹配以外,Express允许模式匹配。
app.get("/hello/:who", function(req, res) { res.end("Hello, " + req.params.who + "."); });
上面代码将匹配“/hello/alice”网址,网址中的alice将被捕获,作为req.params.who属性的值。需要注意的是,捕获后需要对网址进行检查,过滤不安全字符,上面的写法只是为了演示,生产中不应这样直接使用用户提供的值。
如果在模式参数后面加上问号,表示该参数可选。
app.get('/hello/:who?',function(req,res) { if(req.params.id) { res.end("Hello, " + req.params.who + "."); } else { res.send("Hello, Guest."); } });
set方法的使用
set方法用来指定变量值,用法相对比较简单
app.set("views", __dirname + "/views"); app.set("view engine", "jade");
response对象方法
response.redirect 方法 response.redirect方法允许网址的重定向。
response.redirect("/hello/anime"); response.redirect("http://www.example.com"); response.redirect(301, "http://www.example.com");
response.sendFile方法response.sendFile方法用于发送文件。
response.sendFile("/path/to/anime.mp4");
response.render方法response.render方法用于渲染网页模板。使用render方法,将message变量传入index模板,渲染成HTML网页。
app.get("/", function(request, response) { response.render("index", { message: "Hello World" }); });
requst对象方法
request.ip request.ip属性用于获得HTTP请求的IP地址。 request.files request.files用于获取上传的文件。
搭建https服务器
var fs = require('fs'); var options = { key: fs.readFileSync('E:/ssl/myserver.key'), cert: fs.readFileSync('E:/ssl/myserver.crt'), passphrase: '1234' }; var https = require('https'); var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('Hello World Expressjs'); }); var server = https.createServer(options, app); server.listen(8084); console.log('Server is running on port 8084');
上述就是关于Express框架的方法使用,all方法和HTTP动词方法,set方法,response对象,requst对象以及https服务器搭建。
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧