Когда у меня есть следующий код:
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const cors = require('cors');
app.use(cors());
app.use(express.static('public'));
app.set('view engine', 'html');
app.get('/', (req, res, next) => {
res.render('./index');
});
io.on('connection',(socket) => {
console.log('a user connected');
});
app.listen(3000, () => console.log('Example app listening on port 3000!'));
И следующая структура каталогов:
Когда я делаю запрос к серверу на localhost: 3000, мне возвращается HTML, который я хочу. Однако я не понимаю, что браузер не может загрузить мой файл JS. Вот мой HTHL
:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="/public/script.js"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
test
</body>
</html>
В консоли появляется следующая ошибка:
localhost /: 5 GET http://localhost:3000/public/script.js 404 (не найдено)
localhost /: 1 Отказался от выполнения скрипта из 'http://localhost:3000/public/script.js', поскольку его тип MIME (' text / html ') не является исполняемым и включена строгая проверка типов MIME.
Почему chrome не может загрузить и выполнить мой файл Javascript?