WebSocket을 사용한 채팅 앱: 채팅 페이지 구축
17239 단어 javascriptnodereactwebdev
목차
Sokhavuth TIN ・ 8월 19일 ・ 1분 읽기
GitHub: https://github.com/Sokhavuth/chat
헤로쿠: https://khmerweb-chat.herokuapp.com/
채팅 애플리케이션의 경우 필요한 것은 채팅 페이지 하나뿐입니다. 홈페이지에 대한 경로를 이미 정의했으므로 이 경로를 채팅 페이지에 사용할 수 있습니다. 그러나 이 채팅 페이지를 구축하려면 글꼴, 이미지 및 CSS 파일과 같은 정적 자산을 사용해야 합니다. Express에서는 이러한 정적 자산을 저장하기 위해 "공용"폴더와 같은 폴더를 설정할 수 있습니다.
// index.js
// npm install express
// npm install socket.io
// npm install nodemon
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const path = require('path');
const port = process.env.PORT || 3000;
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
server.listen(port, () => {
console.log(`listening on *${port}`);
});
<!--index.html-->
<!DOCTYPE html>
<html>
<head>
<title>Khmer Web Chat</title>
<link rel="stylesheet" href="/base.css" />
<link rel="stylesheet" href="/chat.css" />
<link href="/fonts/setup.css" rel="stylesheet" />
<link href="/logo.png" rel="icon" />
</head>
<body>
<section class="Chat region">
<div class="main">
<div class="title">
<input type="button" value="Leave chat" />
</div>
<div class="outer">
<div id="messages">Chat messages</div>
<form id="form" action="" onSubmit="">
<input type="text" required placeholder="Chat name" />
<input id="input" autocomplete="off" required
placeholder="Type your message here" />
<input type="submit" value="Send" />
</form>
</div>
</div>
<div class="sidebar">
<div class="title">All people</div>
<div class="content">Users</div>
</div>
</section>
</body>
</html>
/* public/base.css */
:root{
--background: #d7532c;
--background-dark: #2b2b2b;
--background-light: #f9dd89;
--body-font: 14px/1.5 Vidaloka, OdorMeanChey;
--link: lightgrey;
--color: black;
--item-listing: white;
--item-listing-color: grey;
}
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
a{
text-decoration: none;
color: var(--link);
}
a:hover{
opacity: .7;
}
.region{
max-width: 1150px;
margin: 0 auto;
}
body{
color: var(--color);
font: var(--body-font);
background: var(--background-light);
}
/* chat.css */
.Chat{
margin-top: 50px;
display: grid;
grid-template-columns: 70% auto;
grid-gap: 15px;
}
.Chat input{
font: var(--body-font);
padding: 5px;
}
.Chat .main .outer{
background-color: lavender;
padding: 20px;
}
.Chat .main .title{
background: black;
text-align: right;
}
.Chat .main #messages{
height: 400px;
background-color: white;
border: 1px solid grey;
padding: 20px;
}
.Chat .main .outer form{
display: grid;
grid-template-columns: 20% auto 15%;
}
.Chat .sidebar .title{
text-align: center;
background-color: black;
color: white;
padding: 5px;
}
.Chat .main .outer form #input{
font: 14px/1.5 Courgette, HandWriting;
}
.Chat .sidebar{
background-color: white;
}
.Chat .sidebar .content{
padding: 20px;
}
@media only screen and (max-width: 600px){
.Chat{
grid-template-columns: 100%;
padding: 10px;
}
.Chat .main .outer{
padding: 0;
}
}
Reference
이 문제에 관하여(WebSocket을 사용한 채팅 앱: 채팅 페이지 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sokhavuth/chat-app-with-websocket-building-chat-page-3hhk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)