Express
框架是一款简洁而灵活的node.js web应用框架。前面咱们本身手动建立服务器在Express
中就是一个API
的事情,这就使得咱们更加注重业务的功能和开发效率上,没必要纠结过多底层的事情。javascript
Express中文官网:Expresshtml
安装:npm install express --save
java
项目中引入:node
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和中文编码格式,会底层自动识别添加,能够看下面代码:git
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...')
})
复制代码
在web网站后端开发的过程当中,咱们每每须要把一些静态文件夹暴露出去,用户能够根据url地址去访问到其中的内容,这些静态文件每每也称之为公共资源,利用express框架能够方便地托管静态文件。github
本章节对应的API地址:Express 托管静态文件web
public
app.use('/public/', express.static('./public'))
shell
第一个参数指定用户必须以/public/
开头的url地址才能访问到静态文件夹下的具体对应文件资源。express.static()
里面传一个相对路径,指定要暴露的文件。express
let express = require('express')
let app = express()
app.use('/public/', express.static('./public'))
app.listen(3000, ()=> {
console.log('running...')
})
复制代码
app.use(express.static('./public'))
npm
app.use()方法省略第一个参数,用户无需以/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'))
第一个参数为咱们本身指定的任意文件名,用户访问公共资源,须要以咱们指定的文件名开头的url地址,看例子
let express = require('express')
let app = express()
app.use('/static/', express.static('./public'))
app.listen(3000, ()=> {
console.log('running...')
})
复制代码
前面的学习咱们已经知道如何在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.engine('art', require('express-art-template'))
为必须项,是配置模板引擎的关键所在,项目中虽然没有引入art-template模块,可是因为依赖关系,因此也必须一同下载安装。app.engine
的第一个参数为解析模板字符文件的后缀名,art
表示模板文件必须以.art
为扩展名,能够修改成常见的.html
格式。res.render()
第一个参数为要解析的模板字符串文件,文件的扩展名与前面的app.engine()
第一个参数一致,模板文件会默认去当前同级目录的views
文件夹下查找,因此无需写文件路径,也不能写文件路径,所以,咱们常常把一些与页面视图相关的文件都放在views
文件夹下,这也是一种好的编程习惯。第二个参数为模板配置对象。若是须要修改res.render()
默认查找模版文件的位置,好比我但愿它去别的文件夹下找,不是views
文件夹,可使用下面配置语句:
app.set('views', '替换的文件路径') // 第一个参数必须为:views
复制代码
本博文出至于个人GitHub上Node学习教程资料,若是须要demo源码的小伙伴能够去GitHub上clone,欢迎小伙伴们star,大家的点赞是我持续更新的动力。
pubdreamcc原创,欢迎转载!
仓库地址:Node学习图文教程