第四天学习内容安排
1. 复习第三天的内容
- 基本模块:复习 Node.js 的核心模块,如
fs
(文件系统)、http
(HTTP 服务器)等。 - 异步编程:回顾回调函数和 Promise 的基本用法。
2. 深入了解异步编程
-
回调函数:
- 理解回调函数的概念及其在异步编程中的应用。
const fs = require('fs'); fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
-
Promise:
- 学习如何使用 Promise 处理异步操作:
const fs = require('fs').promises; fs.readFile('example.txt', 'utf8') .then(data => { console.log(data); }) .catch(err => { console.error(err); });
-
async/await:
- 学习如何使用
async
和await
简化异步代码:
const fs = require('fs').promises; async function readFile() { try { const data = await fs.readFile('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
- 学习如何使用
3. 创建简单的 HTTP 服务器
- 使用
http
模块:- 学习如何创建一个简单的 HTTP 服务器:
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
4. 路由处理
-
使用
url
模块:- 学习如何解析请求 URL:
const url = require('url'); const server = http.createServer((req, res) => { const parsedUrl = url.parse(req.url, true); res.statusCode = 200; res.setHeader('Content-Type', 'application/json'); res.end(JSON.stringify(parsedUrl)); });
-
基本路由处理:
- 根据不同的 URL 路径返回不同的响应:
const server = http.createServer((req, res) => { if (req.url === '/') { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Home Page\n'); } else if (req.url === '/about') { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('About Page\n'); } else { res.statusCode = 404; res.setHeader('Content-Type', 'text/plain'); res.end('404 Not Found\n'); } });
5. 使用 Express 框架
-
安装 Express:
- 使用 npm 安装 Express:
npm install express
-
创建基本的 Express 应用:
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Home Page'); }); app.get('/about', (req, res) => { res.send('About Page'); }); app.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
6. 实践练习
- 创建一个简单的 Node.js HTTP 服务器,处理不同的路由请求。
- 使用 Promise 和 async/await 读取文件并返回内容。
- 使用 Express 框架创建一个简单的 Web 应用,包含多个路由。