正文
app.use(bodyParse.urlencoded({
extended
:
false
}))
app.use(bodyParse.json())
app.post(
'/post'
,(req,res)=>{
const
result = req.body
console
.log(result)
res.end(result.name)
})
app.listen(
3000
,()=>
console
.log(
'Server is running on localhost:3000'
))
复制代码
3. 开启服务器,可通过postman访问URL,自行配置body里面的参数信息,以及指定Content-Type
4. 最后点击左下角的body,即可查看我们服务器中的返回信息
四. express中 art-template的使用
前面我们学习了如何在Nodejs中使用
art-template
,在express同样可以使用,接下来我们就来看看,如何在express中使用
art-template
1. 在express中使用art-template,首先要安装如下两个模块
npm install art-template express-art-template -S
复制代码
2. 添加模版界面
// index.html
<!DOCTYPE html>
<html lang ="en" >
<head >
<meta charset ="UTF-8" >
<meta name ="viewport" content ="width=device-width, initial-scale=1.0" >
<meta http-equiv ="X-UA-Compatible" content ="ie=edge" >
<title > {{ title }}</title >
</head >
<body >
<h1 > {{ title }}</h1 >
<p > My name is {{ name }}</p >
<p > I come from {{ from }}</p >
<p > I like {{each hobbies}} {{ $value }} {{ /each }}</p >
</body >
</html >
复制代码
3. 添加server.js文件
const express = require ('express' )
const app = express()
app.engine('html' ,require ('express-art-template' ))
app.get('/' ,(req,res)=>{
res.render('./index.html' ,{
title : '个人介绍' ,
name : 'Kobe' ,
form : 'America' ,
bobbies : ['basketball' ,'swimming' ]
})
})
app.listen(8000 ,()=>console .log('Server is running on localhost:3000' ))
复制代码
4. 启动服务器,调用URL,我们发现,报如下错误
Error: Failed to lookup view "./index.html" in views directory "C:\Users\admin\Desktop\work\ForStudy\8.Node.js\DemoFolder\express-art-template-demo\views"
复制代码
错误分析
调用res.render方法的时候,默认会去同级目录的 views文件夹下面去找对应的文件
在这里由于我们的server.js和index.html在同级目录下,于是系统找不到views目录下的index.html文件,所以报错
**规范:**我们一般将模版文件放在与server.js同级的views文件夹下面,方便调用
**自定义:**我们还可以通过如下方法,自定义我们希望查找模版界面的目录
app.set('views' , '替换的文件路径' )
复制代码
五. express中路由模块的提取
路由分为前端路由和后端路由,这里我们主要谈论的事后端路由,即URL地址
5.1 路由的概念
后端路由
对于普通网站,所有的链接都是URL地址,URL地址即对应服务器上面的资源
前端路由
前端路由主要通过hash(#)来实现,通过hash值的改变来切换界面,同同时,hash值的改变并不会带来http请求的重新响应,使得加载页面的性能更好
5.2 路由的提取
通过前面的学习我们知道,可以通过express的get和post方法,对不同的URL地址做出响应,最终将结果返回給客户端
**问题描述:**一旦我们的项目界面多了起来,需要处理的请求路径就会比较多,如果全部写在一个文件,就会使得文件难以维护,于是我们可以提取路由文件,专门用来配置路由,最后把路由对象导出挂载到服务器上即可
实现:
使用 npm init -y 初始化,并且安装 express 模块
npm init -y
npm install express -S
复制代码
创建server.js文件
const express = require ('express' )
const server = express()
server.listen(3000 ,()=>{
console .log('Server is running on localhost:3000' )
})
复制代码
路由文件
const app = require ('express' )
const router = app.Router()
router.get('/' ,(req,res)=>{
res.send('主页'