Express JS - 404静态文件

时间:2013-06-30 04:07:22

标签: node.js express ejs

我似乎无法使用快速3.x来提供公共目录中的静态文件。他们都要求以404结束。

    var express = require('express')  
  , engine = require('ejs') 
  , app = express();


app.configure(function () {
    app.use(express.static(__dirname + '/public'));   
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
});

app.get('/', function(req, res) {
    res.render('test.ejs')
});


app.listen(3000);

我的test.ejs引用了js文件,如下所示:

<script type="text/javascript" src="js/testscene.js"></script>

我必须忽略一些简单的事情。我有以下文件夹结构:

project
  -public
     -js
        testscene.js
  -views ]

有人能告诉我我错过了什么吗?

更新

我实际创建了一个新项目,并将我的脚本复制到这个新项目中,它有效吗?! 我猜我不得不将其视为某种局部的怪异。谢谢你所有的时间。

1 个答案:

答案 0 :(得分:0)

__dirname是当前.js文件所在的目录。你的文件系统ascii art diagram省略了这个难题的重要部分。例如,如果您的第一个代码段位于project/server.js,那么这是正确的。我认为然后在浏览器中加载http://localhost:3000应该正确找到js/testscene.js文件。但是,使用相对URI通常是一个坏主意,除非您确实需要/需要它,所以为了理智,将其更改为src="/js/testscene.js"