Node.js 无法使用express加载静态文件

Node.js 无法使用express加载静态文件,node.js,express,Node.js,Express,尝试了我能想到的所有可能的组合,但无法使用express server加载静态文件。 目录结构 app --todoApp.html ----server.js //node file ----jquery.js ----backbone.js 节点服务器 var http = require('http'), express = require('express'); var app = express(); app.listen(3000); app.set('views', _

尝试了我能想到的所有可能的组合,但无法使用express server加载静态文件。
目录结构

app
--todoApp.html
----server.js //node file
----jquery.js
----backbone.js
节点服务器

var http = require('http'),
    express = require('express');

var app = express();
app.listen(3000);
app.set('views', __dirname);
app.use(express.static(__dirname));
app.engine('html', require('ejs').renderFile);
console.log(__dirname);
app.get('/', function(req, res){
    //res.send('Whats up?');
    res.render('../todoApp.html');
});
\uu dirname
打印为
app/js
ehich是正确的。但是页面加载时出现错误
,服务器响应状态为404(未找到)http://localhost:3000/js/jquery.js

HTML按如下方式加载脚本:

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/underscore-min.js"></script>
<script type="text/javascript" src="js/backbone.js"></script>

我尝试了多种方法,但都不起作用。
尝试了以下内容:
app.use('/js',express.static(_dirname))
app.use('/',express.static(_dirname))


请提供帮助。

由于当前目录已经是
js
目录,因此在加载JavaScript文件时无需在
标记中指定:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="underscore-min.js"></script>
<script type="text/javascript" src="backbone.js"></script>

在express中设置静态目录时,该目录实际上成为根目录,因此所有静态文件路径都应该相对于该目录

另外,将服务器端代码放在静态目录中可能不是一个好主意,因为这将允许任何使用服务器的人访问服务器端代码。最好将所有静态文件放在不同的目录中,并在express中将其设置为静态目录