Express.js静态服务不起作用

时间:2014-03-22 23:34:11

标签: javascript node.js twitter-bootstrap express pug

我试图将引导主题应用于Jade生成的文件,但它说它无法获取文件。

主JS文件:

var express = require('express')
app = express();

app.set('views', __dirname + '/templates');

app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res){res.render('index.jade', {title: 'stuff'});});

var port = Number(process.env.PORT || 5000);
app.listen(port, function () {
  console.log('Listening on ' + port);
});

index.jade:

link(rel='stylesheet', href='public/lumen.min.css')
h1 
   a(href='http://example.com') test
p this is a test

对此有何解决方案?

1 个答案:

答案 0 :(得分:5)

href='public/lumen.min.css'正在尝试访问位于__dirname + public/public/lumen.min.css的文件(请注意双public)。将该行更改为:

link(re='stylesheet', href='lumen.min.css')

您不需要将公共目录添加到src / href属性中,快递足够聪明,可以解决这个问题。

有关使用express.static的更多示例,请查看docs