- Node.js实战建立简单的Web服务器攻略
第一步:安装Node.js
安装Node.js,可以从官方网站下载安装包,也可以使用包管理器安装。
第二步:编写服务器脚本
使用任何文本编辑器(如Notepad或Sublime Text)编写以下JavaScript脚本,将其保存为server.js文件:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World!');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
这个脚本创建了一个简单的HTTP服务器,监听本地IP地址127.0.0.1和端口号3000,当有请求到达时,向客户端返回一个响应,响应内容为“Hello World!”。
第三步:启动服务器
在命令行中使用以下命令启动服务器:
node server.js
可以看到控制台输出“Server running at http://127.0.0.1:3000/”。
第四步:测试服务器
在浏览器中访问“http://127.0.0.1:3000/”,应该能够看到“Hello World!”的响应。
- 示例说明
下面是两个在Node.js中实现的示例:
(1) 文件上传
使用Node.js可以轻松地实现文件上传功能。以下示例展示了如何使用Node.js、Express和multer中间件实现文件上传:
const express = require('express');
const multer = require('multer');
const app = express();
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads');
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
});
const upload = multer({storage: storage});
app.post('/upload', upload.single('file'), (req, res) => {
res.send('File uploaded successfully');
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
上面的示例中,使用了Express框架和multer中间件。首先创建一个存储对象,然后将其传递给multer中间件以进行文件上传。在“/upload”路由上,使用“upload.single('file')”处理文件上传请求。
(2) WebSocket通信
使用Node.js和Socket.IO可以轻松地实现实时WebSocket通信。以下示例演示了如何使用Node.js和Socket.IO建立WebSocket连接:
const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', socket => {
console.log('a user connected');
socket.on('disconnect', () => {
console.log('user disconnected');
});
socket.on('chat message', msg => {
console.log('message: ' + msg);
io.emit('chat message', msg);
});
});
server.listen(3000, () => {
console.log('listening on *:3000');
});
上面的示例使用Express框架和Socket.IO库。在服务器上建立一个WebSocket连接,每当客户端连接、断开或发送聊天消息时,服务器都会记录日志和广播消息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js实战 建立简单的Web服务器 - Python技术站