express快速托管静态资源

  • express直接返回静态文件 res.sendFile()
// 1. 导入 express 模块与path模块
const express = require('express')
const path = require('path')
// 2. 创建服务器
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')
})
  1. 当网站中,有很多静态资源需要被外界访问,此时,使用 res.sendFile 就有点力不从心了,这时候,express 框架,为我们提供了一个 内置的(中间件) express.static(‘静态资源目录’) , 来快速托管指定目录下的所有静态资源文件;
express.static('./views')
  1. 用法:
    app.use(express.static(‘public’))
    express.static 是一个express的内置中间件;
    app.use()方法,是专门用来注册 中间件;
// 托管静态页面
app.use(express.static('./views'))
  1. 当使用 第二步中的方法,把指定目录托管为静态资源目录之后,那么,这一层被托管的目录,不应该出现在 资源访问的 URL地址中;
//直接使用了 app.use(express.static('./assets')) 方式,则 ,访问 assets 目录下资源的时候,路径中,不能出现 /assets;
//为了能有路径的智能提示,在 第一个参数的位置,手动挂载一个 路径标识符,这就表示,将来托管的静态资源文件,在访问的时候,路径中,必须要包含我们为其挂载的 哪个 路径标识符
app.use('/assets', express.static('./assets'))
  1. 在一个Web项目中,我们可以多次调用app.use(express.static())
  2. 在多次调用 express.static 的时候,如果文件名称有重复的,则以先注册的中间件为主!
  3. 如果项目要部署了,推荐大家配置一个叫做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')
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值