- express直接返回静态文件 res.sendFile()
const express = require('express')
const path = require('path')
const server = express()
server.get('/index.html', (req, res) => {
res.sendFile(path.join(__dirname, './views/index.html'))
})
server.listen(3000, () => {
console.log('express server running at http://127.0.0.1:3000')
})
- 当网站中,有很多静态资源需要被外界访问,此时,使用 res.sendFile 就有点力不从心了,这时候,express 框架,为我们提供了一个 内置的(中间件) express.static(‘静态资源目录’) , 来快速托管指定目录下的所有静态资源文件;
express.static('./views')
- 用法:
app.use(express.static(‘public’))
express.static 是一个express的内置中间件;
app.use()方法,是专门用来注册 中间件;
app.use(express.static('./views'))
- 当使用 第二步中的方法,把指定目录托管为静态资源目录之后,那么,这一层被托管的目录,不应该出现在 资源访问的 URL地址中;
app.use('/assets', express.static('./assets'))
- 在一个Web项目中,我们可以多次调用app.use(express.static())
- 在多次调用 express.static 的时候,如果文件名称有重复的,则以先注册的中间件为主!
- 如果项目要部署了,推荐大家配置一个叫做compression的中间件,它能够开启服务器的GZip压缩功能;
const express = require('express')
var compression = require('compression')
const server = express()
server.use(compression())
server.use(express.static('./assets'))
server.listen(80, () => {
console.log('express server running at http://127.0.0.1:80')
})