我知道很多人都问过同样的问题,但我根本无法让它为我工作。
我正在尝试制作一个 socket.IO 应用程序并按照教程进行操作,但就是无法将 CSS 和 JS 加载到页面。应用程序总是发送 html 页面。
我的文件夹结构。
./server.js
./public
/css
/styles.css
/js
/client.js
/index.html
我的 Server.js 文件包含:
var express = require('express');
const socketIO = require('socket.io');
const path = require('path');
const PORT = process.env.PORT || 3000;
const INDEX = path.join(__dirname, '/public/index.html');
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
const server = express()
.use((req, res) => res.sendFile(INDEX) )
.listen(PORT, () => console.log(`Listening on ${ PORT }`));
const io = socketIO(server);
在我的 index.html 文件中,我这样调用 css 和 js:
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
<script src="/js/client.js"></script>
最佳答案
为什么要使用两个快速变量 app
和 server
尝试以下操作
const socketIO = require('socket.io');
const path = require('path');
const INDEX = path.join(__dirname, '/public/index.html');
const PORT = process.env.PORT || 3000;
var express = require('express');
const app = express()
.get('/', function (req, res) {res.sendFile(INDEX)})
.use(express.static(__dirname + '/public'))
.listen(PORT, () => console.log(`Listening on ${ PORT }`));
const io = socketIO(app);
关于javascript - node.js - 静态文件 CSS/JS 在 express 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327143/