Express.js 是一个基于 Node.js 平台的极简、灵活的 Web 应用程序框架,在前端开发中得到广泛应用。本文将介绍在 Express.js 应用程序中如何进行缓存控制和静态资源管理。
缓存控制
缓存是提高 Web 应用程序性能的一种重要方式。在 Express.js 应用程序中,可以使用 Cache-Control
和 Expires
头部来控制缓存。其中,Cache-Control
用于控制缓存策略,Expires
用于设定缓存到期时间。
Cache-Control
Cache-Control
头部控制着资源在客户端与服务器之间是否缓存。使用 cacheControl
函数,可以在应用程序中动态生成 Cache-Control
头部。例如,以下代码将动态生成一个缓存过期时间为 1 分钟的 Cache-Control
头部:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- --------------- ----- ---- -- - ----- --------- - -- -- ----- - -- ------------------------ -------- ---------------------- --------------- -------- -- ---------------- -- -- - ------------------- -- --------- -- ---- ------- --
Cache-Control
头部可以包含以下值:
public
:表明响应可以被客户端和中间代理缓存private
:表明响应只能被客户端缓存,在代理服务器上不能缓存no-cache
:表明响应必须重新验证缓存之后才能使用,不能直接使用缓存max-age
:表明响应在多少秒内可以被缓存
Expires
Expires
头部是一个日期字符串,用于指定缓存到期时间。例如,以下代码将生成一个缓存到期时间为 1 分钟后的 Expires
头部:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- --------------- ----- ---- -- - ----- --------- - -- -- ----- - -- ----- --- - --- ------ ------------------------------- - ---------- ------------------ ------------------ --------------- -------- -- ---------------- -- -- - ------------------- -- --------- -- ---- ------- --
在实际开发中,建议同时使用 Cache-Control
和 Expires
头部来控制缓存。
静态资源管理
在 Express.js 应用程序中,可以使用 express.static
中间件来管理静态资源,例如图片、CSS 文件和 JavaScript 文件等。
基本用法
以下代码展示了如何使用 express.static
中间件来托管 public
目录中的静态文件:
const express = require('express') const app = express() app.use(express.static('public')) app.listen(3000, () => { console.log('Server is listening on port 3000.') })
在上述代码中,express.static
中间件将会在访问 http://localhost:3000
时,自动查找 public
目录下的静态文件。例如,如果在 public
目录下有名为 image.png
的文件,则可以通过 http://localhost:3000/image.png
来进行访问。
其他配置
express.static
中间件还支持以下配置:
root
:指定静态文件所在的根目录maxAge
:指定缓存时间(单位为毫秒)etag
:指定是否启用 ETag 缓存验证
以下代码展示了如何使用配置项来管理静态文件:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ------------------ ------------------------ - ------- -- - -- - -- - ---- -- ----- - - ----- ----- -- -- ---- ---- --- ---------------- -- -- - ------------------- -- --------- -- ---- ------- --
结论
本文介绍了在 Express.js 应用程序中如何进行缓存控制和静态资源管理。通过合理地使用缓存控制和静态资源管理,可以大幅提升 Web 应用程序的性能和用户体验。
你可以访问 Express.js 官方文档 来深入了解更多有关 Express.js 的技术知识。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/671525b8ad1e889fe216fadc