【发布时间】:2022-01-05 09:09:27
【问题描述】:
这是我的代码:
const consts = require('./public/script/consts.js');
const express = require('express');
const app = express();
const server = require('http').createServer(app);
const { Server } = require('socket.io');
const io = new Server(server);
function io_on_connection(socket) {
console.log("a user connected"); // TODO: Emit user connected
socket.on('sendmessage', (message) => {
io.emit("recievemessage", { username: "litte_coder", message: message });
});
}
function app_get_root(req, res) {
console.log("index");
res.sendFile(__dirname + '/public/index.html');
}
function server_listen() {
console.log('Server is running...');
}
/* Socket.io */
io.on('connection', io_on_connection);
//app.use(express.static(__dirname + '/public'));
app.get('/', app_get_root);
server.listen(consts.PORT, server_listen);
当我使用app.use(express.static...) 时,app_get_root 回调不会调用,但我的 index.html 已服务。我的目录结构是这样的:
├── app.js
├── package.json
├── package-lock.json
└── public
├── index.html
├── script
│ ├── consts.js
│ └── index.js
└── style
└── style.css
但如果我的 app_get_root 回调不起作用,它如何为我的 index.html 文件提供服务?
【问题讨论】:
标签: javascript node.js express socket.io