首页 > 编程语言 >node.js入门第三天

node.js入门第三天

时间:2024-12-13 22:57:13浏览次数:7  
标签:node req 入门 res app express 中间件 send js

第三天学习内容安排

1. 复习第二天的内容
  • 基本模块:复习 Node.js 的核心模块(如 fshttppath 等)的基本用法。
  • 异步编程:回顾回调函数、Promise 和 async/await 的基本概念。
2. 学习 Express 框架
  • 安装 Express

    npm install express 

    创建基本的 Express 应用

    const express = require('express');
    const app = express();
    const PORT = 3000;
    
    app.get('/', (req, res) => {
        res.send('Hello, Express!');
    });
    
    app.listen(PORT, () => {
        console.log(`Server is running on http://localhost:${PORT}`);
    });
    

3. 路由和中间件
  • 定义路由

    app.get('/about', (req, res) => {
        res.send('About Page');
    });
    
    app.post('/submit', (req, res) => {
        res.send('Form Submitted');
    });
    
  • 使用中间件

    • 创建一个简单的中间件来记录请求信息:
    app.use((req, res, next) => {
        console.log(`${req.method} ${req.url}`);
        next(); // 调用下一个中间件或路由处理程序
    });
    
4. 处理请求体
  • 使用 express.json()express.urlencoded() 中间件

    app.use(express.json()); // 处理 JSON 格式的请求体
    app.use(express.urlencoded({ extended: true })); // 处理 URL 编码的请求体
    
  • 处理 POST 请求

    app.post('/data', (req, res) => {
        console.log(req.body); // 打印请求体
        res.send('Data received');
    });
    
5. 静态文件服务
  • 提供静态文件

     
    app.use(express.static('public')); // 'public' 文件夹中的文件将被公开
    
  • 创建一个 public 文件夹,并在其中放置一些静态文件(如 HTML、CSS、JavaScript 文件),然后访问这些文件。

6. 错误处理
  • 定义错误处理中间件
    app.use((err, req, res, next) => {
        console.error(err.stack);
        res.status(500).send('Something broke!');
    });
    
7. 实践练习
  • 创建一个简单的 Express 应用,包含多个路由(如主页、关于页、提交表单页)。
  • 实现一个表单,使用 POST 请求提交数据,并在服务器端处理请求体。
  • 尝试提供静态文件,并在浏览器中访问这些文件。

标签:node,req,入门,res,app,express,中间件,send,js
From: https://blog.csdn.net/2401_89389294/article/details/144385762

相关文章

  • node.js入门第四天
    第四天学习内容安排1.复习第三天的内容基本模块:复习Node.js的核心模块,如fs(文件系统)、http(HTTP服务器)等。异步编程:回顾回调函数和Promise的基本用法。2.深入了解异步编程回调函数:理解回调函数的概念及其在异步编程中的应用。constfs=require('fs');fs.readFi......
  • C++入门
    目录1.C++的第一个程序2.命名空间2.1namespace2.2命名空间的嵌套2.3多文件定义同名namespace默认合并2.3.1Stack.h2.3.2Stack.cpp2.3.3test.cpp2.4使用3.C++输入&输出4.缺省参数4.1全缺省、半缺省4.2多文件缺省参数使用4.2.1Stack.h4.2.2Stack.cpp4.2.3test.c......
  • JS-16 循环语句之for
    循环语句用于重复执行某个操作for语句是循环命令,可以指定循环的起点,终点和终止条件。他的格式如下for(初始化表达式;条件;迭代因子){语句}for语句后面的括号里面,由三个表达式。①初始表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。②布尔表达式(test):每轮循......
  • js数组一
    Array构造函数创建Array对象调用Array()时可以使用或者不适用new,都会创建一个新的Array实例参数elementN:根据给地的元素创建一个js数组,但是当仅有一个参数为数字时除外arrayLength:如果传递给Array构造函数的唯一参数是介于0到2^32-1(含)之间的整数,这将返回一个新的js数组,......
  • JS-14 条件语句之switch
    多个if...else连接在一起使用的时候,可以转为使用更方便的switch结构表达式→值1→语块1→break;→表达式→值2→语块1→break;→表达式→defalut→默认语块→switch(fruit){case"banana"://...break;case"apple"://...default://...}需要注意的......
  • 基于Java的springboot/SSM+vue.js+uniapp小程序软件学院学生成绩管理系统的附带文章源
    文章目录前言详细视频演示具体实现截图后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 想通过自学入门Java,推荐看谁的课程?
    自学Java时,选择合适的课程非常重要。以下是一些知名的Java教学资源和讲师,他们的课程广受好评,适合初学者入门:1.**尚硅谷**-张晓峰 -尚硅谷的Java基础课程非常适合初学者,张晓峰老师的讲解深入浅出,课程内容全面。2.**极客时间**-老男孩 -老男孩的Java基......
  • 实战攻防中针对JS路径的泄露和Webpack漏洞的初探
    0x1前言浅谈这篇文章给师傅们分享下前段时间跟其他师傅学习和交流的Webpack相关漏洞,这个漏洞相对来说比较冷门,在web漏洞中不是那么的热度高,但是平常去挖掘和发现这个漏洞相对来说还是不难的。后面要是有机会可以给师傅们分享下油猴的相关脚本去找Webpack漏洞泄露的js敏感......
  • 【ROS机器人入门】ROS的安装和更新,学不会头提给你
    打开官网www.ros.org,或者直接登录http://wiki.ros.org/noetic/Installation/Ubuntu进行所有操作前,先更新终端输入:sudoapt-getupdate终端输入:sudoapt-getupgrade 1.1ConfigureyourUbunturepositories 这一步配置ubuntu的软件仓库,一般在不熟悉的时候不动1......
  • linux 不通外网安装node-sass
      找到下载失败的地址,直接下载对应node版本的源文件,放入构建机的某个根目录下(需要用到绝对地址)如:/app/cache/ ,linux不需要解压,window需要解压。如:/app/cache/node-v14.21.1-headers.tar.gzhttps://nodejs.org/download/release/  缺少binding.node文件:  执行:no......