Как исправить ошибку подключения socket.io на import
У меня есть код, который запрашивает у пользователя пароль, но после изменения require на import, socket.io перестал находить файл, пытался менять href скрипта в html на cdn, но всё равно ничего не работает Код: index.js:
import express from 'express';
import path from 'path';
const app = express();
import http from 'http';
const server = http.createServer(app);
import { Server } from "socket.io";
import fs from 'fs';
const io = new Server(http, {
});
app.set('view engine', 'ejs');
app.set('views', path.join('./views'));
var password = "1111"
app.use('/public', express.static(path.join('./public')));
var checkIp4;
io.sockets.on('connection', function (socket) {
socket.on('send', function (data) {
if (data.text == password) {
console.log('password send, true');
checkedIpAdress.push(checkIp4);
fs.appendFile('./logs/checkedIpAdress.log', `${checkIp4}\n`, (err) => {
err ? true : false
});
} else {
console.log('password send, false');
console.log('false ip4: ');
console.log(checkIp4);
fs.appendFile('./logs/connections.log', `connection, false password ${checkIp4}`, (err) => {
err ? true : false
});
}
})
});
app.get('/', async (req, res) => {
res.render('askPassword');
})
app.get('*', function (req, res) {
res.status(404).render('404');
});
var port = 3000;
server.listen(port);
console.log('Started!');
askPassword.ejs:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>
<title>Запрос доступа</title>
</head>
<body>
<h4 class="mb-3">Требуется проверка пароля</h4>
<form id="needmees">
<div class="col-12">
<label for="text class=" form-label">Введите пароль:</label>
<input type="password" class="form-control w-50 mb-2" id="text-mess-ok" placeholder="Пароль...">
</div>
<button class="w-50 btn btn-primary btn-lg submit-message" type="button">Войти</button>
</form>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
var $form = $('#needmees');
var $input = $('#text-mess-ok');
let sended = false;
$('.submit-message').on('click', () => {
if (sended) return;
sended = true;
socket.emit('send', { text: $input.val() });
$input.val('');
sended = false;
window.location.reload();
})
</script>
</body>
</html>