当前位置: 首页 > news >正文

NodeJS Express 静态文件、中间件、路由案例

NodeJS Express

Express,构建在Node.js平台上的Web开发框架,通过中间件机制和路由系统简化了HTTP服务器的创建流程。支持快速搭建RESTful API服务,提供模板引擎整合功能,并能够与Azure Functions等云服务平台进行集成。作为MEAN技术栈的核心组件之一,Express是Web开发领域最受欢迎的Node.js框架。

Express 5.0 requires Node.js 18 or higher. 参考文档:https://www.expressjs.com.cn/5x/api.html

初始化项目:npm init -y

安装依赖:npm install express@5.1.0,卸载依赖:npm uninstall express

Express 代码

const express = require('express')
const app = express()// 中间件
const middleware = function (req, res, next) {console.log(req.path, "中间件函数.");req.time = Date.now()next();
}
app.use(middleware);// 静态文件
const options = {dotfiles: 'ignore',etag: false,extensions: ['htm', 'html', 'png'],index: false,maxAge: '1d',redirect: false,setHeaders(res, path, stat) {res.set('x-timestamp', Date.now())}
};
app.use(express.static('public', options));// 请求处理
app.get('/', (req, res) => {res.send('hello world -> ' + req.time);
})
app.all('/all', function (req, res) {res.send('all -> ' + req.time);
});// admin
const admin = express()
// 当子程序被挂载到父程序时,mount事件被发射
admin.on('mount', (parent) => {console.log('Admin Mounted')console.log(parent)
})
admin.get('/', (req, res) => {console.log(admin.mountpath)res.send('Admin Homepage');
})
app.use(['/admin', '/manag*r'], admin)// 路由
const router = express.Router()
router.get('/info/:id', (req, res, next) => {console.log(req.params.id)res.send('router. -> ' + req.time);
})
app.use('/user', router)// 
const port = 3000;
app.listen(port, () => {console.log("http server running at http://127.0.0.1:" + port);
})

http://www.dtcms.com/a/281826.html

相关文章:

  • iPhone 数据擦除软件评测(最新且全面)
  • 为什么要使用nginx?
  • 网络基础10 业务访问控制--ACL与包过滤
  • springboot如何redis锁
  • python学习---dayday6
  • 基于华为欧拉系统安装FileGator文件管理器
  • git本地的操作
  • Java 增强 switch 语句详解:从基础到进阶的全面指南
  • 基于conda包的环境创建、激活、管理与删除
  • 如何卸载SQLServer
  • MybatisPlus由浅入深
  • Neo4j Python 驱动库完整教程(带输入输出示例)
  • Supervisor 使用教程:进程守护的最佳实践指南
  • 06-C语言:第06天笔记
  • 数据分析与AI丨从传感器到智能决策:数据驱动企业发展与 ESG 创新的全链路实践
  • 18.理解 Python 中的切片赋值
  • OpenCV-Python Tutorial : A Candy from Official Main Page(三)
  • Redis原理之持久化
  • 【构建 SHAP 解释器】X:每个样本的特征表(不能含 label,否则解释不纯粹)。
  • 隐私计算四大主流开源框架:从学术研究到工业落地,附PySyft实战Demo
  • 梁的振动特征函数分析2
  • 智驾芯片软件分层测试
  • kdump生成转储文件调试内核崩溃、死机
  • 电涡流位移测量技术深度解密
  • View2 UI聊天框架源码分享 - 支持[图文视频]混排 加入AI 分享一套功能强大的View2 UI聊天框架源码
  • Python初学者笔记第十四期 -- (自定义模块与包)
  • NFS磁盘共享
  • 基础专有术语
  • Model Control Protocol 一种开放的应用层协议,让大模型与工具能够协调配合起来,了解他的定义、定位、组成及实现机制...
  • 手提式干粉灭火器检查工作,如何做到可执行、可追溯、可管理?