Node.js入门:环境搭建与第一个HTTP服务器
(6) feilong.org 修订于2026-08-18 08:38:49 nodejs教程什么是Node.js?
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript编写命令行工具和服务器端应用程序。其核心特性包括非阻塞I/O模型、事件驱动架构以及对异步编程的良好支持。通过Node.js,开发者可以构建高性能的网络应用,并利用NPM(Node Package Manager)获取丰富的第三方库。
环境搭建
安装Node.js与npm
1. 访问[官方下载页面](https://nodejs.org)选择稳定版进行安装。
2. 安装过程中勾选“Add to PATH”选项以全局使用命令行工具。
3. 验证安装是否成功:
|
1 |
bash
node -v
npm -v
|
1 |
若输出版本号(如v18.12.1),说明环境配置完成。
初始化项目目录
在目标文件夹中创建新项目结构:
|
1 |
bash
mkdir my-http-server
cd my-http-server
npm init -y
|
1 |
此命令会生成package.json文件,用于管理依赖项和项目元数据。
创建第一个HTTP服务器
基础代码实现
在项目目录内创建app.js文件并添加以下内容:
|
1 |
javascript
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, Node.js HTTP Server!\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
|
1 |
代码解析:
- 使用内置的http模块创建服务器实例。
- createServer方法定义请求处理逻辑,通过回调函数接收req(请求对象)和res(响应对象)。
- listen方法启动服务并绑定到3000端口。
运行与测试
执行以下命令启动服务器:
|
1 |
bash
node app.js
|
1 |
打开浏览器访问[http://localhost:3000](http://localhost:3000),页面将显示"Hello, Node.js HTTP Server!"。
深入理解核心概念
非阻塞I/O模型
Node.js通过事件循环机制实现非阻塞I/O操作,避免传统多线程模型的资源浪费。例如,在处理HTTP请求时,服务器不会等待单个请求完成才处理下一个请求,而是将任务放入队列中异步执行。
模块化开发实践
Node.js采用模块化设计,开发者可通过require()引入内置模块(如http、fs)或第三方库。例如,使用Express框架可简化HTTP服务器开发:
|
1 |
bash
npm install express
|
1 |
|
1 |
javascript
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Express!');
});
app.listen(3000, () => {
console.log('Express server running on port 3000');
});
|
1 |
常见问题与解决方案
1. 端口冲突:若3000端口被占用,可修改listen参数为其他可用端口(如8080)。
2. 依赖缺失:确保已通过
|
1 |
npm install |
安装所需模块,避免运行时错误。
3. 跨域问题:开发阶段可通过设置
|
1 |
res.setHeader('Access-Control-Allow-Origin', '*') |
解决CORS限制。
结语
本文从零开始介绍了Node.js的环境配置与基础HTTP服务器实现,为后续学习Express、Socket.IO等框架打下基础。通过实践可以快速掌握异步编程和事件驱动开发模式,进一步探索构建全栈应用的可能性。
更新网址:https://feilong.org/nodejs-http-server-tutorial
最初发布:20260818 08:38:49 feilong.org 于广州
加入收藏夹,查看更方便。