📅  最后修改于: 2023-12-03 15:17:53.269000             🧑  作者: Mango
本篇文章将介绍如何使用 Node.js 和 Express 框架搭建一款简单的聊天应用程序。
在本地新建一个空的文件夹,在命令行中进入该文件夹,执行以下命令进行初始化:
npm init -y
安装 Express、Socket.io 和 body-parser:
npm install express socket.io body-parser --save
创建一个名为 server.js
的文件,并输入以下代码:
const express = require('express');
const app = express();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
app.use(express.static(__dirname + '/public'));
io.on('connection', (socket) => {
console.log('a user connected');
});
server.listen(3000, () => {
console.log('listening on *:3000');
});
此时,在浏览器中打开 http://localhost:3000,会显示一段内容,表示服务器已经能够正确启动。
在 public 文件夹下创建一个名为 index.html
的文件,并输入以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat App</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="chat">
<div class="messages"></div>
<form id="messageForm">
<input type="text" id="message" autocomplete="off" placeholder="Type your message...">
<button>Send</button>
</form>
</div>
<script src="/socket.io/socket.io.js"></script>
<script src="script.js"></script>
</body>
</html>
在 public 文件夹下创建一个名为 script.js
的文件,并输入以下代码:
const socket = io();
const messageForm = document.getElementById('messageForm');
const messageInput = document.getElementById('message');
const messages = document.querySelector('.messages');
messageForm.addEventListener('submit', (e) => {
e.preventDefault();
const message = messageInput.value;
if (message.trim() === '') {
return;
}
appendMessage({ message, from: 'me' });
socket.emit('message', message);
messageInput.value = '';
});
socket.on('message', (message) => {
appendMessage({ message, from: 'other' });
});
function appendMessage({ message, from }) {
const messageDiv = document.createElement('div');
messageDiv.classList.add('message', `message-${from}`);
messageDiv.innerText = message;
messages.appendChild(messageDiv);
}
在 public 文件夹下创建一个名为 style.css
的文件,并输入以下代码:
.chat {
width: 500px;
margin: 50px auto;
border: 1px solid #ccc;
border-radius: 5px;
padding: 20px;
}
.messages {
height: 200px;
border: 1px solid #ddd;
border-radius: 5px;
overflow-y: scroll;
margin-bottom: 10px;
}
.message {
padding: 10px;
margin-bottom: 10px;
border-radius: 5px;
}
.message-me {
background-color: #caf7e3;
align-self: flex-end;
}
.message-other {
background-color: #e6e6e6;
}
在命令行中输入以下命令启动服务器:
node server.js
在浏览器中打开 http://localhost:3000 即可访问聊天程序。
本篇文章介绍了使用 Node.js 和 Express 框架搭建一款简单的聊天应用程序的步骤。通过以上步骤,我们可以在本地搭建一个简单的聊天应用程序,并体验实时的聊天交互。