我首先做了一个像这样的基本 Node 服务器:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080, function() {
console.log('Server running on 8080...');
});
然后我用这样的快速服务器替换它:
var express = require("express");
var app = express();
var path = require("path");
app.get('/',function(req,res){
res.sendFile(path.join(__dirname+'/index.html'));
});
app.use(express.static("public"));
app.listen(8080);
console.log("Running at Port 8080");
对于第一个,一切正常。 CSS、JQuery、图像等...,但在第二个中,我的一些样式元素完全消失了,无法显示网站上的图片。我错过了什么?我该如何解决?
最佳答案
您没有提供静态文件。
app.use(express.static("public"))
这将直接在服务器 /
的根目录中提供来自 /public
的所有文件。如果您想在 /static
为它们提供服务,您需要稍微修改一下代码。
app.use("/static", express.static("public"))
例子
文件结构
├── node_modules
├── package.json
├── public
| └ style.css
|
└── server.js
服务器.js
var express = require("express")
var app = express()
app.use(express.static("public"))
app.listen(3333)
运行 server.js 后,您应该能够访问 http://localhost:3333/style.css (以及/public 目录中的所有其他文件)
关于javascript - 为什么 CSS 和 Bootstrap 元素随着 node express server 消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387407/