Express

npm install express
const express = require("express");
//创建服务器  不需要再http.createServer
const app = express();

app.get/post("请求路径","处理函数",)
//函数第三个参数next,可以将请求再交给下一个中间件处理
app.get("/index", (req, res, next) => {
	//send()
	//1.send方法内部会检测响应内容的类型
	//2.send方法会自动设置http状态码
	//3.send方法自动设置响应的内容类型和编码  直接响应对象
	res.send();
	next();
});
app.get("/index", (req, res) => {
	res.send();
});
use() 不管是get还是post都会去接收
app.use((err, req, res, next) => {
	console.log(req.url);
	//status设定http状态码
	res.status(404), send("页面不存在");
	res.status(500).send(err.message);
	next();
});

app.listen(3000);
console.log("服务器启动成功");

try{需要运行的代码  }catch(a){next(a)}

//创建模块化路由
const home = express.Router();
app.use("/index",home);
		// www.xxxx.com/index/home
home.get/post("/home",()=>{ res.send("欢迎访问home页面") });
//将路由作为模块导出  当使用外部文件
//module.exports = home;

//get参数获取
app.get("/index",(req,res,next)=>{
	console.log(req.query)   获取网址?后面的数据,并转化为对象	
})

//post参数获取
const bodyParser = require("body-parser");
app.use(bodyParser.userencoded({ extended:false }))
app.post("/index",(req,res,next)=>{
	console.log(req.body);	
})

//express路由参数
		//xxx.com/index/id
app.get("/index/:id",(req.res)=>{
	console.log(req.params);    {id:123}
})  

//静态资源访问
app.use(express.static("目录"))

//模板引擎
npm install art-template和express-art-template  //需要前者支持 
//确认使用的是什么模板引擎
			//后缀         用什么模板引擎
app.engine("art",require("express-art-template"));
//设置模板存放目录
app.set("views",path.join(__dirname,"views"));  views目录
//设置模板配置,和默认后缀
app.set("view engine","art")
app.get("/",(req,res)=>{
		渲染模板
			//1.拼接了模板路径
			//2.拼接了模板后缀
			//3.哪个模板和哪个数据进行拼接
			//4.将结果响应给客户端无需Send
		res.render("index",{		/index.art文件
				data: "hello world"
		})   
})
大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。
如果不想使用views文件夹,想自己设置文件夹名字,那么app.set("views","路径");

将变量设置到app.locals对象下面,这个数据在所有的模板中都可以获取到
就不需要添加到res.render()方法的第二个参数

app.locals.users = [
	{
		name: "熊大",
		age: 5,
	},
	{
		name: "熊二",
		age: 5,
	},
];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值