使用 Node.js 构建 Web 应用:入门指南
首先需要安装 Node.js 和 npm。安装完成后,可以使用以下步骤来编写一个简单的 web 应用:
-
创建一个文件夹,并在其中创建一个名为'app.js'的文件。
-
在'app.js'中,导入'http'模块,并创建一个服务器实例:
const http = require('http');
const server = http.createServer((req, res) => {
res.end('Hello, World!');
});
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
-
运行
node app.js
,打开浏览器并访问http://localhost:3000
,就可以看到'Hello, World!'。 -
如果需要访问静态文件(如 HTML、CSS、JS 等),可以使用'fs'模块读取文件,并在服务器响应中返回:
const http = require('http');
const fs = require('fs');
const server = http.createServer((req, res) => {
if (req.url === '/') {
fs.readFile('index.html', (err, data) => {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data);
});
} else if (req.url === '/style.css') {
fs.readFile('style.css', (err, data) => {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/css'});
res.end(data);
});
} else if (req.url === '/script.js') {
fs.readFile('script.js', (err, data) => {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/javascript'});
res.end(data);
});
} else {
res.writeHead(404);
res.end('404 Not Found');
}
});
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
- 如果需要处理 HTTP POST 请求,可以使用'querystring'模块来解析请求体,并在服务器响应中返回数据:
const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const server = http.createServer((req, res) => {
if (req.method === 'GET') {
if (req.url === '/') {
fs.readFile('index.html', (err, data) => {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data);
});
} else {
res.writeHead(404);
res.end('404 Not Found');
}
} else if (req.method === 'POST') {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
const data = querystring.parse(body);
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(`Hello, ${data.name}!`);
});
} else {
res.writeHead(405);
res.end('405 Method Not Allowed');
}
});
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
以上就是一个简单的 web 应用的实现过程。需要注意的是,这只是一个基础的示例,实际应用中可能需要更加复杂的逻辑和处理方式。
原文地址: http://www.cveoy.top/t/topic/m5j2 著作权归作者所有。请勿转载和采集!