1. express 官网:https://expressjs.com/
    2. express npm:https://www.npmjs.com/package/express
    3. Express.js ,通常简称为 Express
    4. express 是 Node.js 的一个流行框架,用于构建 Web 服务和应用程序
    5. express 为构建 Web 应用和 API 提供了一组强大的功能和中间件,同时保持简洁和灵活
    6. Express 是 Node.js 社区中的一个关键组成部分,为开发者提供了构建现代 Web 应用和 API 的必要工具
    7. Express 被描述为一个 “快速、无主见、微型” 的 Web 框架
    8. Express 不像一些其他框架那样“主见强烈”。它不强制你使用特定的目录结构或编程模式,这使得你可以根据项目的需要来决定如何组织代码
    9. Express 是 Node.js 生态系统中最流行的 Web 框架
    10. 由于 Express 流行度,有大量的第三方中间件和扩展可用,这使得开发更加迅速和简单
    11. Express 经常与其他技术如 MongoDB 和 Node.js 一起被称为 MEN 栈
    12. Express 提供了简单的方法来定义 HTTP 路由,即响应特定的 HTTP 请求(如 GET、POST 等)
    13. Express 使用中间件的概念,它是一种功能模块,可以在请求被最终处理之前拦截、处理或修改它
    14. 虽然 Express 本身没有强制使用特定的模板引擎,但它允许你集成任何模板引擎(如 Pug、EJS 等)来渲染动态 HTML 内容
    15. Express 提供了一组简单的 API 来发送响应、管理 cookies、处理文件上传等
    16. 由于 Express 在 Node.js 上运行,Express 能够提供出色的并发性和性能
    17. Express 框架建立在 Nodejs 内置的 Http 模块上,并对 Http 模块再包装,从而实际 Web 请求处理的功能
    18. 对于熟悉 Node.js 的开发者来说,Express 的学习曲线相对较为平缓
    19. Express 常用于构建 RESTful 服务
    20. Express 可以与前端框架(如 Angular、React 或 Vue)结合,构建完整的单页面应用
    21. Express 可用于实现传统的基于服务器的 Web 应用,包括渲染动态 HTML 内容
    22. Express 结合 Socket.io 等库,可以构建实时的 Web 应用,如聊天室
    23. 在 Express 4.x 版本中,与 Express 3.x 不同,4.x 版本剔除了大部分内置中间件,让 Express 变得更为轻量化和模块化。大多数中间件现在都被移动到了单独的 npm 包中。moren 👉 Express middleware
    24. express()
      1. express() 用来创建一个 Express 的程序
      2. express() 方法是 express 模块导出的顶层方法
    1. const express = require('express')
    2. const app = express()
    1. express.static
      1. express.static(<静态资源所在根目录>, [<配置>])
      2. express.static 是 Express 中唯一的内建中间件
      3. express.static 是基于 server-static 实现的
      4. express.static 负责托管 Express 应用内的静态资源
      5. 配置项:dotfiles etag extensions index lastModified maxAge redirect setHeaders

    你可以使用以下代码来创建一个简单的 Express 应用,这个应用使用 express.static 中间件来为静态文件提供服务:

    1. const express = require('express');
    2. const path = require('path');
    3. const app = express();
    4. // // 使用 express.static 中间件为 'public' 目录下的静态资源提供服务
    5. app.use(express.static('public'));
    6. app.get('/', (req, res) => {
    7. res.send('Hello, World!');
    8. });
    9. const PORT = 8888;
    10. app.listen(PORT, () => {
    11. console.log(`Server is running on http://localhost:${PORT}`);
    12. });

    为了测试上述代码,你可以在应用的根目录下创建一个名为 “public” 的目录,并在其中放入一些静态文件,例如 1.txt。然后,当你运行上述代码并访问 http://localhost:8888/1.txt 时,你应该能看到 1.txt 的内容

    image.png