框架入门代码:
//引用express框架
const express = require('express');
//创建网站服务器
const app = express();
app.get('/', (req, res) => {
//send()
//1.send()方法内部会自动检查响应内容类型
//2.send()方法会自动设置http状态码
//3.send()方法会帮我们自动设置响应的内容类型及编码
res.send("Hello Express")
})
app.get("/list", (req, res) => {
//send()
//1.send()方法内部会自动检查响应内容类型
//2.send()方法会自动设置http状态码
//3.send()方法会帮我们自动设置响应的内容类型及编码
res.send({ name: 'pink', age: 20 });
});
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
//创建网站服务器
const app = express();
//中间件1
//next:是一个权限控制函数
app.get('/request', (req, res, next) => {
req.name = 'pink';
next();
});
//中间件2
app.get("/request", (req, res) => {
res.send(req.name)
});
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
//创建网站服务器
const app = express();
//接收所有请求的中间件
app.use((req, res, next) => {
console.log("请求走了app.use中间件");
next();
});
//当客户端访问/resquest请求的时候走当前中间件
app.use('/resquest', (req, res, next) => {
console.log("请求走了app.use / resquest中间件");
next();
});
app.get('/list', (req, res) => {
res.send("/list")
})
//中间件1
//next:是一个权限控制函数
app.get("/request", (req, res, next) => {
req.name = "pink";
next();
});
//中间件2
app.get("/request", (req, res) => {
res.send(req.name);
});
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
//创建网站服务器
const app = express();
app.use('/admin', (req, res, next) => {
let isLong = true;
//如果用户登录
if (isLong) {
//让请求继续向下执行
next();
} else {
//如果没有登录,就做出响应
res.send("您还未登录!")
}
})
app.get('/admin', (req, res) => {
res.send("您已登录")
})
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
const fs = require('fs');
//创建网站服务器
const app = express();
app.get('/index', (req, res, next) => {
//fss.readFile()方法是一个异步操作,所以当读取发生错误时,需要用next()方法将错误信息传递给下一个中间件进行处理
// /demo.txt文件不存在
fs.readFile('/demo.txt', 'utf8', (err, result) => {
if (err != null) {
next(err);
} else {
res.send(result)
}
});
})
//错误处理中间件
app.use((err, req, res, next) => {
res.status(500).send(err.message)
})
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
const fs = require("fs");
const { cachedDataVersionTag } = require("v8");
const promisify = require('util').promisify;
const readfile = promisify(fs.readFile);
//创建网站服务器
const app = express();
app.get("/index", async(req, res, next) => {
try {
await readfile('./aa.txt');
} catch (ex) {
//将错误信息传递出去,手动触发错误处理中间件
next(ex);
}
});
//错误处理中间件
app.use((err, req, res, next) => {
res.status(500).send(err.message);
});
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
//创建网站服务器对象
const app = express();
//创建路由对象
const home = express.Router();
//为路由对象匹配请求路径
app.use("/home", home);
//创建二级路由
home.get('/index', (req, res) => {
res.send("来到首页")
})
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
//引用express框架
const express = require("express");
//创建网站服务器对象
const app = express();
app.get('/index', (req, res) => {
//获取get请求参数
res.send(req.query);
})
//监听端口
app.listen(3000);
console.log("网站服务器启动成功");
// 引入express框架
const express = require("express");
const bodyParser = require("body-parser");
// 创建网站服务器
const app = express();
app.get('/index/:id/:name/:age', (req, res) => {
res.send(req.params)
})
// 端口监听
app.listen(3000);
console.log("网站启动成功");
// 引入express框架
const express = require("express");
const path = require('path');
// 创建网站服务器
const app = express();
//实现静态资源访问功能
app.use(express.static(path.join(__dirname, 'public')));
// 端口监听
app.listen(3000);
console.log("网站启动成功");
const express = require('express');
const path = require('path');
const app = express();
//1.告诉express框架使用什么模板引擎渲染什么后缀的模板文件
//art:模板的后缀 express-art-template:使用的模板引擎
app.engine('art', require("express-art-template"));
//2.告诉express框架模板存放的位置是什么
//第一个views:是express的配置项名字,告诉express框架模板存在的位置。第二个views是文件夹的名字
app.set('views', path.join(__dirname, 'views'));
//3.告诉express框架模板的默认后缀是什么
app.set('view engine', 'art');
//创建一个路由
app.get('/index', (req, res) => {
//res.render()作用 1.拼接模板路径 2.拼接模板后缀3.告诉模板引擎哪一个数据与哪一个模板拼接4.将拼接结果响应给客户端
res.render('index', {
msg: 'pink'
});
});
app.get('/list', (req, res) => {
res.render('list', {
msg: 'list page'
})
});
//监听端口
app.listen(3000);
console.log("OK");
// app.js文件
const express = require('express');
const path = require('path');
const app = express();
//1.告诉express框架使用什么模板引擎渲染什么后缀的模板文件
//art:模板的后缀 express-art-template:使用的模板引擎
app.engine('art', require("express-art-template"));
//2.告诉express框架模板存放的位置是什么
//第一个views:是express的配置项名字,告诉express框架模板存在的位置。第二个views是文件夹的名字
app.set('views', path.join(__dirname, 'views'));
//3.告诉express框架模板的默认后缀是什么
app.set('view engine', 'art');
app.locals.users = [{
name: 'pink',
age: 20
}, {
name: 'tom',
age: 18
}]
//创建一个路由
app.get('/index', (req, res) => {
//res.render()作用 1.拼接模板路径 2.拼接模板后缀3.告诉模板引擎哪一个数据与哪一个模板拼接4.将拼接结果响应给客户端
res.render('index', {
msg: 'home page'
});
});
app.get('/list', (req, res) => {
res.render('list', {
msg: 'list page'
})
});
//监听端口
app.listen(3000);
console.log("OK");