all 方法和 HTTP 动词方法
针对不同的请求,Express 提供了 use 方法的一些别名。比如,上面代码也可以用别名的形式来写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 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);
|
除了 get 方法以外,Express 还提供 post、put、delete 方法,即 HTTP 动词都是 Express 的方法,express 允许模式匹配
set 方法
用于指定变量的值
1 2 3
| app.set('views',_dirname+'/views') app.set("view engine", "jade");
|
response 对象
response.redirect () 允许网址的重定向
response.redirect("/hello/anime");
response.sendFile () 用于发送文件
response.sendFile("/path/to/anime.mp4")
response.render () 用于渲染网页模版
1 2 3
| app.get("/", function(request, response) { response.render("index", { message: "Hello World" }); });
|
使用 render 方法,将 message 变量传入 index 模版,渲染成 HTML 网页
request 对象
request.ip: 用于获取 HTTP 请求的 IP 地址
request.files 用于获取上传的文件
使用 express 搭建 https 加密服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 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);
|