Express框架学习

use是express注册中间件的方法,它返回一个函数
简单说,中间件(middleware)就是处理HTTP请求的函数。它最大的特点就是,一个中间件处理完,再传递给下一个中间件。App实例在运行过程中,会调用一系列的中间件。

浏览器中打开当前目录的public子目录

app.use(express.static('public'));
// or
app.use(express.static(__dirname + '/public'));

node启动可以不带.js

// 启动index.js
node index

最好就把路由放到一个单独的文件中,比如新建一个routes子目录

中间件实例

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);

以上方法,测试完全可以直接用Express方式来写,效果一致

app.all("*", function(request, response, next) {
  next();
});

app.get("/", function(request, response) {
  response.send("Welcome to the homepage!");
});

app.get("/about", function(request, response) {
  response.send("Welcome to the about page!");
});

app.get("*", function(request, response) {
  response.send("404!");
});

app.listen(8000);

Express允许模式匹配,利用此特性,可以输出id等信息

app.get("/hello/:who", function(req, res) {
  res.end("Hello, " + req.params.who + ".");
});

set方法用于指定变量的值。

app.set("views", __dirname + "/views");
app.set("view engine", "jade");

response.redirect方法允许网址的重定向。

response.redirect("/hello/anime");
response.redirect("http://www.example.com");
response.redirect(301, "http://www.example.com"); 

** response.sendFile方法用于发送文件。**

 response.sendFile("/path/to/anime.mp4");

response.render方法用于渲染网页模板。将message变量传入index模板,渲染成HTML网页

app.get("/", function(request, response) {
  response.render("index", { message: "Hello World" });
});

使用Express搭建HTTPs加密服务器

@2017-05-06 22:28