Node.js 构建简单应用
在 Node.js 中构建一个简单应用通常包括以下几个步骤:
- 安装 Node.js
- 设置项目目录
- 初始化项目
- 创建服务器
- 并处理请求和响应
接下来,我们将一步步介绍如何用 Node.js 构建一个简单的 HTTP 应用程序。
1、安装 Node.js
首先确保系统上已安装 Node.js 和 npm,可以在命令行中输入以下命令进行验证:
node -v npm -v
如果还未安装,请参考:Node.js 安装配置。
2、创建项目文件夹
在终端中,创建一个项目文件夹 my-first-node-app 并进入该文件夹:
mkdir my-first-node-app cd my-first-node-app
3、初始化项目
通过 npm init 命令生成 package.json 文件,它包含了项目的配置信息。
运行以下命令并按提示填写信息(可以直接按回车跳过):
npm init -y
把 package.json 文件修改为以下内容:
{ "name": "my-first-node-app", "version": "1.0.0", "main": "app.js", "scripts": { "start": "node app.js" }, "dependencies": {} }
4、创建应用入口文件
在项目根目录 my-first-node-app 下创建一个 app.js 文件,这是应用的入口文件,用于设置服务器和处理请求。
5、编写服务器代码
在 app.js 文件中编写以下代码,用于创建一个简单的 HTTP 服务器:
实例
const http = require('http');
// 创建服务器
const server = http.createServer((req, res) => {
// 设置HTTP响应的状态码和头信息
res.writeHead(200, {
// 设置内容类型为 HTML,并指定字符集为 UTF-8,这样中文不会乱码
'Content-Type': 'text/html; charset=utf-8'
});
// 发送响应体
res.end('<h1>Hello, World!</h1><p>这是我的第一个 Node.js 应用。</p>');
});
// 监听端口
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
// 创建服务器
const server = http.createServer((req, res) => {
// 设置HTTP响应的状态码和头信息
res.writeHead(200, {
// 设置内容类型为 HTML,并指定字符集为 UTF-8,这样中文不会乱码
'Content-Type': 'text/html; charset=utf-8'
});
// 发送响应体
res.end('<h1>Hello, World!</h1><p>这是我的第一个 Node.js 应用。</p>');
});
// 监听端口
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
6、运行服务器
在项目根目录下执行以下命令,启动服务器:
npm start
你会看到控制台输出如下信息:
Server is running on http://localhost:3000
7、访问服务器
打开浏览器并访问 http://localhost:3000,你会看到页面显示如下:
说明服务器已经成功运行。
8、添加路由
为了处理不同的请求路径,可以在服务器代码中添加简单的路由,例如:
实例
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Welcome to the homepage!');
} else if (req.url === '/about') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('This is the about page.');
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found');
}
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Welcome to the homepage!');
} else if (req.url === '/about') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('This is the about page.');
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found');
}
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
通过上述步骤,你已经构建了一个简单的 Node.js 应用,并且可以处理不同的请求路径。
这个基础应用可以进一步扩展,如添加数据库支持、引入 Express 框架处理复杂路由等,为更复杂的项目奠定基础。