Javascript 为什么CSS和引导元素在node express server中消失?

Javascript 为什么CSS和引导元素在node express server中消失?,javascript,node.js,express,Javascript,Node.js,Express,我首先制作了一个基本的节点服务器,如下所示: 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("

我首先制作了一个基本的节点服务器,如下所示:

  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");
然后我将其替换为一台express服务器,如下所示:

  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"))
实例 文件结构 server.js
运行server.js后,您应该能够访问(以及/public目录中的所有其他文件)

您没有提供静态文件

app.use(express.static("public"))
这将直接在服务器的根目录上提供来自
/public
的所有文件。如果你想在
/static
上为他们服务,你需要稍微修改一下代码

app.use("/static", express.static("public"))
实例 文件结构 server.js
运行server.js后,您应该能够访问(以及/public目录中的所有其他文件)

以便为静态文件提供服务。请查看您可以使用的显示:

app.use(express.static('public'))
app.use(express.static('files'))

公用
文件
文件夹中的静态文件提供服务。在您的示例代码中,您仅提供
index.html

以提供静态文件。请查看您可以使用的功能:

app.use(express.static('public'))
app.use(express.static('files'))

公用
文件
文件夹中的静态文件提供服务。在示例代码中,您只提供了
index.html

您只提供了index.html,您仍然需要在express中提供静态文件。您只是在提供index.html,还需要在express中提供静态文件。我正在努力,但现在不行。因此,我必须创建一个名为static的文件夹,将所有内容放入其中,然后在server.js文件中使用以下代码段:app.use(express.static('public'))。不,您只需创建一个文件夹(任意名称)。在我的示例中,我使用了
public
文件
作为文件夹名。只要你用你的文件夹名调用
express.static
方法,我就会尝试,但现在不行。因此,我必须创建一个名为static的文件夹,将所有内容放入其中,然后在server.js文件中使用以下代码段:app.use(express.static('public'))。不,您只需创建一个文件夹(任意名称)。在我的示例中,我使用了
public
文件
作为文件夹名。只要用文件夹名调用
express.static
方法,它就不起作用:(我知道应该这样做,但没有效果。我用你的代码行刷新了我的代码。我制作了一个pulbic文件夹,并将数据放入其中。看看我的模板repo,它可能会对你有所帮助。你可能只是弄乱了文件夹结构或
我认为我的html结构没有问题。它根本不起作用。我已经安装了aved express在server.js中引用了一行内容,其中有一行内容应该使每个文件夹公开。这应该很简单。我有点不高兴,因为这是一件基本的事情,我不能让它工作。在css文件夹之前的repo中,你有一个带有lightgrey的“public/”。我也需要这样做:只需单击“克隆或下载”,然后单击“下载zip”查看文件夹结构,并将其与您的文件夹结构进行比较。如果看起来正确,请将我的
主页中的
href
属性与您的
href
属性进行比较,并确保您可以实际访问您的资源。这该死的文件结构……现在终于起作用了。谢谢您的支持我们的坚持:)它不起作用:(我知道应该这样做,但没有效果。我用你的代码行刷新了我的代码。我制作了一个pulbic文件夹,并将数据放入其中。看看我的模板repo,它可能会对你有所帮助。你可能只是弄乱了文件夹结构或
我认为我的html结构没有问题。它根本不起作用。我已经安装了aved express在server.js中引用了一行内容,其中有一行内容应该使每个文件夹公开。这应该很简单。我有点不高兴,因为这是一件基本的事情,我不能让它工作。在css文件夹之前的repo中,你有一个带有lightgrey的“public/”。我也需要这样做:只需单击“克隆或下载”,然后单击“下载zip”查看文件夹结构,并将其与您的文件夹结构进行比较。如果看起来正确,请将我的
主页中的
href
属性与您的
href
属性进行比较,并确保您可以实际访问您的资源。这该死的文件结构……现在终于起作用了。谢谢您的支持我们的坚持:)