第一课时实操:创建第一个 Node.js 服务器
实训目标
- 理解服务器基本概念
- 能够使用 Node.js 创建简单的 HTTP 服务器
- 掌握请求与响应的基本流程
源码示例
js
// 引入 http 模块
const http = require('http');
// 创建服务器
const server = http.createServer((req, res) => {
// 设置响应头
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
// 发送响应内容
res.end('<h1>欢迎访问我的第一个 Node.js 服务器!</h1>');
});
// 监听端口
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
操作步骤
- 新建
server.js文件,粘贴上述代码 - 在终端中运行:
node server.js - 浏览器访问
http://localhost:3000,查看输出结果
第二课时实操:处理不同请求与响应
实训目标
- 理解 HTTP 请求方法(GET/POST)
- 能根据 URL 返回不同内容
- 掌握设置状态码与响应头
源码示例
js
const http = require('http');
const url = require('url');
const server = http.createServer((req, res) => {
const pathname = url.parse(req.url).pathname;
const method = req.method;
// 设置响应头
res.setHeader('Content-Type', 'text/html; charset=utf-8');
// 根据路径返回不同内容
if (pathname === '/' && method === 'GET') {
res.writeHead(200);
res.end('<h1>首页</h1><a href="/about">关于我们</a>');
} else if (pathname === '/about' && method === 'GET') {
res.writeHead(200);
res.end('<h1>关于我们</h1><p>这是关于页面</p>');
} else if (pathname === '/submit' && method === 'POST') {
// 模拟处理 POST 请求
let body = '';
req.on('data', chunk => body += chunk);
req.on('end', () => {
res.writeHead(200);
res.end(`<p>收到 POST 数据:${body}</p>`);
});
} else {
res.writeHead(404);
res.end('<h1>页面不存在</h1>');
}
});
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
操作步骤
- 新建
app.js,粘贴代码并运行 - 访问
http://localhost:3000和/about测试 GET 请求 - 使用 Postman 或 HTML 表单测试
/submit的 POST 请求
扩展练习(可选)
实训目标
- 获取并打印请求头信息
- 设置不同的 Content-Type 返回 JSON 或图片链接
示例代码片段:
js
// 获取请求头
console.log(req.headers['user-agent']);
// 返回 JSON
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ message: 'Hello JSON' }));