javascript - node.js - 静态文件 CSS/JS 在 express 中不起作用

标签 javascript css node.js express socket.io

我知道很多人都问过同样的问题,但我根本无法让它为我工作。

我正在尝试制作一个 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>

最佳答案

为什么要使用两个快速变量 appserver

尝试以下操作

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/

相关文章:

html - 动画 Bootstrap 汉堡菜单交叉

node.js - MeanIO 的 swig 模板引擎不渲染 Angular ng-model 数据

javascript - Angularjs $http 在第一次调用后未返回 ng-click 调用

php - ajax 功能和点击功能在点击时不起作用

css - SASS - 修改伪类

javascript - 切换 HTML 元素类的大小时,过渡属性不起作用?

javascript - 是否可以在现有服务器上使用服务器端渲染?

javascript - 用于日期格式验证的正则表达式

php - 如何使用 codeigniter 中另一个 Controller 传递的变量创建一个 Flexigrid?

javascript - Laravel 的事件监听和触发