找不到Express.js资产

找不到Express.js资产,express,pug,assets,Express,Pug,Assets,我有一台express服务器: //setup Dependencies var connect = require('connect') , express = require('express') , port = (process.env.PORT || 8081); //DB Setup removed for brevity var server = express.createServer(); server.configure(function(){ s

我有一台express服务器:

//setup Dependencies
var connect = require('connect')
    , express = require('express')
    , port = (process.env.PORT || 8081);

//DB Setup removed for brevity

var server = express.createServer();
server.configure(function(){
    server.set('views', __dirname + '/views');
    server.set('view engine', 'jade')
    server.set('view options', { layout: false });
    server.use(connect.bodyParser());
    server.use(server.router);
    server.use(express.static(__dirname + '/public'));
});
和主页视图:

server.get('/', function(req,res){
  res.render('index');
});
其中我的文件夹结构是:

server.js
/views/index.jade
/public/stylesheets/bootstrap.min.css
/public/javascripts/bootstrap.js

然而,当我尝试点击/stylesheets/bootstrap.min.css或/public/stylesheets/bootstrap.min.css时,我得到了一个404。从我在express.js github repo中找到的示例来看,我认为我的设置是正确的。。。但我显然遗漏了一些东西。

我可以通过以下配置来实现:

server.use(express.static(__dirname + 'public'));  ---> remove the "/"
在您的
中请求如下文件:

<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">


完整的url应该是
http://example.com/stylesheets/bootstrap.min.css

我可以在以下配置下工作:

server.use(express.static(__dirname + 'public'));  ---> remove the "/"
在您的
中请求如下文件:

<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">


完整的url应该是
http://example.com/stylesheets/bootstrap.min.css

您是否尝试通过调用stylesheet/bootstrap.min.css而不是/stylesheet/…,来获取样式表?我试图直接访问url(stackoverflow不允许我发布完整的url)来直接访问文件。您是否尝试通过调用stylesheet/bootstrap.min.css而不是/stylesheet/…,来获取样式表?我试图通过直接访问url(stackoverflow不允许我发布完整的url)直接访问该文件。我仍然无法在现有的项目中使用它,但是使用您描述的内容,一个干净的安装正在工作。express示例也不使用斜杠。我将给你一个正确的答案,因为这在语法上是正确的:)我仍然无法让它在我现有的项目中工作,但是一个干净的安装正在使用你描述的东西工作。express示例也不使用斜杠。我会给你一个正确的答案,因为这在语法上是正确的:)