出于某种原因,如果我在 server.js 中指定要监听的端口,例如 4242
,而不是 process.env.PORT
,我的 .css 文件将停止工作(使用 process.env.PORT
它正在工作)。
代码示例:
服务器.js:
var express = require('express');
var app = express()
, http = require('http')
, server = http.createServer(app)
app.get('/room', function (req, res) {
res.render('room.ejs')
});
server.listen(4242);
房间.ejs:
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta charset="utf-8" />
<title></title>
</head>
///rest of HTML///
style.css
文件本身位于站点文件夹中的 public
文件夹中。
最佳答案
尝试告诉 express 位于 server.js
中的静态文件夹在哪里:
app.use(express.static(__dirname + '/public'));
和改变:
<link rel="stylesheet" type="text/css" href="/style.css" /> //see the / on css route
关于css - 如果指定了端口,样式表将不起作用 - node.js express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874452/