//引入模块
var express = require('express');
var fs = require("fs");
//创建app对象
var app = express();
//配置
app.engine("html", require("express-art-template"));
//路由
//创建中间件,路径写"/" 代表不管访问那个路由 无论是get post 都是执行该中间件
//需要注意的一点就是 中间件中必须有next形参 否则无法继续往下访问路由
app.use("/", function (req, res, next) {
console.log("中间件执行");
next();
})
//创建其他路由
app.get("/index", (req, res, next) => {
fs.readFile("./aaa.text", "utf8", (err, data) => {
if (err) next(err); //这里需要注意一点:next不加参数则交给下面的第一个匹配成功的,
//next 加参数则交给下面第一个有err参数的
res.send("index");
})
})
app.get("/user", (req, res, next) => {
fs.readFile("./aaa.text", "utf8", (err, data) => {
if (err) next(err);
res.send("user");
})
})
//中间件错误处理 404
//原理:代码是从上往下执行的,到最后都没有匹配到就是404错误
app.use((req, res) => {
res.send("404 Page NotFind");
})
//错误统一处理
//注意 形参可以不写,但是顺序不可以乱
app.use((err, req, res, next) => {
res.send("网络出差了~~~");
})
//启动
app.listen("8080", () => {
console.log("服务器已经启动 http://localhost:8080");
})