Express框架是一款简洁而灵活的node.js web应用框架。前面我们自己手动创建服务器在Express中就是一个API的事情,这就使得我们更加注重业务的功能和开发效率上,不必纠结过多底层的事情。
快速入门
const express = require('express')
// 得到server(服务器)实例
const app = express()
// 绑定服务器接受请求事件,并且添加处理回调函数
app.get('/', (req, res) => res.send('Hello World!'))
// 绑定服务端口,启动服务器
app.listen(3000, () => console.log('Example app listening on port 3000!'))
复制代码
- 运行项目:
node app.js
利用express框架可以减少我们的代码量,比起之前使用node核心模块http构建服务器代码排版更直观。express底层使用的就是http核心模块的API。如果要处理客户端不同请求路径,我们可以往下罗列多个app.get()方法,无需再使用if...else...来判断。express也不用我们设置响应头的Content-Type和中文编码格式,会底层自动识别添加,可以看下面代码:
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('您好,中国')
})
app.get('/login', (req, res) => {
res.send('<h1>登录</h1>')
})
app.get('/register', (req, res) => {
res.send('<h1>注册</h1>')
})
app.listen('3000', () => {
console.log('running...')
})
复制代码
express中的静态服务
前言
- 在项目中新建一个公共文件夹(公共资源):
public
- 使用express的静态文件服务暴露公共资源
- 方法一:(常用)
app.use('/public/', express.static('./public'))
let express = require('express')
let app = express()
app.use('/public/', express.static('./public'))
app.listen(3000, ()=> {
console.log('running...')
})
复制代码
- 方法二:
app.use(express.static('./public'))
let express = require('express')
let app = express()
app.use(express.static('./public'))
app.listen(3000, ()=> {
console.log('running...')
})
复制代码
- 方法三:
app.use('/static/', express.static('./public'))
let express = require('express')
let app = express()
app.use('/static/', express.static('./public'))
app.listen(3000, ()=> {
console.log('running...')
})
复制代码
express结合art-template模板引擎
前言
前面的学习我们已经知道如何在Node.js中使用art-template模板引擎,同样在express中也可以使用art-template。
- 安装相应的第三方包
npm install --save art-template
npm install --save express-art-template
复制代码
注意:这里的express-art-template依赖了art-template模块,所以必须连同art-template模板一起安装下来。
- 项目中引入
express,配置express-art-template模板引擎
let express = require('express')
// 得到服务器实例对象
let app = express()
// 配置express-art-template模板引擎,配置之后会在服务器请求事件的回调处理函数response对象中有一个render方法,用于渲染模板字符串返回渲染后的结果。
app.engine('art', require('express-art-template'))
// 为服务器绑定get请求事件,添加相应处理回调函数
app.get('/', (req, res) => {
res.render('login.art', {
title: '这里是登陆页'
})
})
// 绑定服务器监听端口号,启动服务器
app.listen(3000, () => {
console.log('running...')
})
复制代码
app.set('views', '替换的文件路径') // 第一个参数必须为:views
复制代码
- 启动服务后看到结果
后语
本博文出至于我的GitHub上Node学习教程资料,如果需要demo源码的小伙伴可以去GitHub上clone,欢迎小伙伴们star,你们的点赞是我持续更新的动力。
pubdreamcc原创,欢迎转载!