找不到Express.js资产
我有一台express服务器:找不到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
//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示例也不使用斜杠。我会给你一个正确的答案,因为这在语法上是正确的:)