javascript - 为什么 CSS 和 Bootstrap 元素随着 node express server 消失了?

标签 javascript node.js express

我首先做了一个像这样的基本 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/

相关文章:

javascript - JS : Set animation duration for change of src

javascript - 如果用户有gif,如何显示用户头像

node.js - Express 服务的 Vuejs 前端和 Node 安全实践中的后端 API

node.js - 在expressjs中轻松使用辅助类

node.js - 在express js中转发查询

javascript - 如何在javascript中将JSON解析为JSON?

javascript - Electron 无法在渲染器进程中找到远程模块

node.js - Stripe 无该客户(高速 channel 账户)

javascript - 将 cryto.generateKeyPair 与 jsonwebtoken 一起使用

javascript - 对文档添加的元素进行点击检测