静态资源服务
在 Web JavaScript 文件等是必不可少的内容。Express 内置了静态资源服务中间件,方便快速地托管这些文件。
使用 express.static 中间件
Express 提供了 express.static 中间件,用于指定静态资源目录,自动响应对应路径的资源请求。
例子
假设项目中有一个 public 文件夹存放静态文件:
/public
├── css
│ └── style.css
├── js
│ └── app.js
└── images
└── logo.png
`
在应用中配置:
const express = require('express');
const app = express();
app.use(express.static('public'));
app.listen(3000, () => {
console.log('服务器启动,监听端口 3000');
});
`
此时,浏览器访问 http://localhost:3000/css/style.css 即可获取对应文件。
自定义静态资源路径
可以通过指定虚拟路径前缀,区分静态资源访问路径:
app.use('/static', express.static('public'));
访问路径变为:
http://localhost:3000/static/css/style.css
缓存控制
express.static 支持配置缓存控制,提升性能:
app.use(express.static('public', {
maxAge: '1d' // 缓存时间为一天
}));
其他注意事项
- 静态资源文件放在项目外部时,可以使用绝对路径:
app.use(express.static(path.join(__dirname, 'public')));
- 确保静态目录不包含敏感文件。
- 静态资源请求默认是 GET 请求。
总结
Express 静态资源服务简单高效,结合缓存策略可以显著提升网站访问速度和用户体验。
相关内容
- 常用中间件列表 本章节将介绍一些常用的 Express 中间件,它们可以帮助您简化应用的开发。中间件用于处理请求、响应,或在请求处理过程中执行额外的操作。本章节包括一些常见的中...
- 常见错误及解决方案 本章节将介绍在开发 Express 应用时常见的错误及其解决方案。通过了解这些常见问题及其处理方法,您可以更有效地调试和优化您的应用。
- 推荐阅读资源 本章节提供了一些推荐的学习资源,包括书籍、在线教程、视频课程和社区资源,帮助您深入了解 Express 和相关技术栈,提升开发技能。
- Express 对比 Koa 和 Next.js 本章节将对比 Express、Koa 和 Next.js 三个常见的 Node.js 框架,分析它们的特点、使用场景、优势和劣势,帮助开发者根据项目需求选择合适...
- 什么是 Node.js? Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,支持在服务器端运行 JavaScript,实现高性能非阻塞 I/O,广泛应...
- 什么是 Express? Express 是基于 Node.js 的极简灵活的 Web 应用框架,简化服务器端开发流程,提供强大的路由、中间件支持,广泛用于构建高性能 Web 服务和 A...