Node.js--Express框架

Express 是一个基于 Node.js 平台的快速、轻量级的 Web 应用开发框架,它为开发者提供了简洁而强大的 API,使得构建 Web 应用和 API 变得更加容易。以下是关于 Express 框架的详细介绍:

  1. 安装 Express
    首先,确保已经安装了 Node.js 和 npm(Node 包管理器)。然后,在项目目录下初始化 package.json 文件,并安装 Express:

    mkdir express-demo
    cd express-demo
    npm init -y
    npm install express
    
  2. 创建一个简单的 Express 应用
    在项目根目录下创建一个名为 app.js 的文件,并编写以下代码:

    const express = require('express');
    // 创建 Express 应用实例
    const app = express();
    // 定义端口号
    const port = 3000;	
    // 定义一个简单的路由
    app.get('/', (req, res) => {
        res.send('Hello, Express!');
    });
    // 启动服务器
    app.listen(port, () => {
        console.log(`Server is running on port ${port}`);
    });
    

    在上述代码中,我们首先引入了 Express 模块,然后创建了一个 Express 应用实例。接着,我们定义了一个根路由 ‘/’,当用户访问该路由时,服务器会返回 ‘Hello, Express!’。最后,我们使用 app.listen() 方法启动服务器,并监听指定的端口。

  3. 运行应用
    在终端中运行以下命令启动应用:

    node app.js
    

    打开浏览器,访问 http://localhost:3000,你将看到页面上显示 Hello, Express!。

  4. 路由处理
    Express 支持多种 HTTP 请求方法,如 GET、POST、PUT、DELETE 等。
    以下是一些常见的路由处理示例:

  • GET 请求
app.get('/users', (req, res) => {
    res.send('List of users');
});
  • POST 请求
// 要处理 POST 请求的表单数据,需要使用中间件
	app.use(express.urlencoded({ extended: true }));
	app.use(express.json());
	app.post('/users', (req, res) => {
	    const newUser = req.body;
	    res.send(`New user created: ${JSON.stringify(newUser)}`);
	});
  • 动态路由
app.get('/users/:id', (req, res) => {
    const userId = req.params.id;
    res.send(`User with ID ${userId}`);
});
  1. 中间件
  • 中间件是 Express 应用的核心概念之一,它可以在请求处理过程中执行各种任务,如日志记录、身份验证、错误处理等。

  • 中间件示例:

    // 自定义中间件
    const logger = (req, res, next) => {
        console.log(`Received ${req.method} request for ${req.url}`);
        next(); // 调用 next() 方法将控制权传递给下一个中间件或路由处理函数
    };
    // 使用中间件
    app.use(logger);
    
  1. 静态文件服务
  • Express 可以方便地提供静态文件服务,如 HTML、CSS、JavaScript、图片等。

  • 示例:

    // 提供静态文件服务
    app.use(express.static('public'));
    

    在项目根目录下创建一个名为 public 的文件夹,并在其中放置一些静态文件,如 index.html。然后,访问 http://localhost:3000/index.html 即可查看该文件。

  1. 错误处理
  • 在 Express 中,可以使用错误处理中间件来捕获和处理应用中的错误。
  • 示例:
    app.use((err, req, res, next) => {
        console.error(err.stack);
        res.status(500).send('Something went wrong!');
    });
    
  1. 模板引擎
  • Express 支持多种模板引擎,如 EJS、Pug、Handlebars 等。

  • 示例:

    1. 安装 EJS
    npm install ejs
    
    1. 配置 EJS
    // 设置视图引擎为 EJS
    app.set('view engine', 'ejs');
    // 设置视图文件的目录
    app.set('views', path.join(__dirname, 'views'));
    
    1. 创建 EJS 模板文件

    在项目根目录下创建一个名为 views 的文件夹,并在其中创建一个名为 index.ejs 的文件:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Express EJS Example</title>
    </head>
    <body>
        <h1>Hello, <%= name %>!</h1>
    </body>
    </html>
    
    1. 渲染 EJS 模板
    	app.get('/ejs', (req, res) => {
    	    res.render('index', { name: 'Express' });
    	});
    

以上是 Express 框架的基本使用方法,通过这些功能,可以构建出功能丰富的 Web 应用和 API。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值