为什么Express没有提供我的静态文件?

时间:2013-11-20 06:07:11

标签: node.js express

网址:http://example.com:8080/js/file.js

var express = require('express');
app = express();
app.use(express.static('public'));
app.listen(8080);

目录结构

/

index.js (loaded node file)
public (folder)
----js (folder)
    ----file.js (requested file)

错误:无法获取/js/file.js

3 个答案:

答案 0 :(得分:2)

提供目录的完整路径:

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

答案 1 :(得分:0)

设置类似本教程中描述的内容可能更容易

http://www.mfranc.com/node-js/node-js-simple-web-server-with-express/

/* serves all the static files */
app.get(/^(.+)$/, function(req, res){ 
    console.log('static file request : ' + req.params);
    res.sendfile( __dirname + req.params[0]); 
});

答案 2 :(得分:0)

您使用的是什么版本的快递?对我来说,使用3.4.0,以下不起作用:

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

但是这样做了:

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

不确定其版本是否具体,但如果失败则使用第一个语法错误:无法获取XXX错误