节点JS连接文件服务器未按预期方式提供

时间:2013-03-09 10:11:39

标签: node.js connect

我正在玩一个简单的Connect文件服务器:

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

connect()
    .use(connect.static('.'))
    .listen(3000);

访问index.html时,文件localhost:3000会加载。但我似乎无法以我期望的方式访问任何其他文件。例如,地址localhost:3000/json-parser.html返回Error: Forbidden后跟有关Connect模块的信息(除非有要求,否则我不会在此处全部包含它,因为它很长,我怀疑这有一个简单的答案)

我已按照代码here更改了我的服务器,以便在我的目录中提供“公共”文件夹:

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

connect()
    .use(connect.static('public'))
    .listen(3000);

但是我希望访问父目录中文件夹内的脚本和文件,如果不将所有内容放在“公共”中并且将Connect文件服务器置于其外,则无法访问。有没有办法让Connect服务于它周围的目录,因为上面看起来不起作用?

1 个答案:

答案 0 :(得分:1)

尝试:

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

connect()
    .use(connect.static(__dirname))
    .listen(3000);

但请记住,这将服务于运行server.js的目录下的所有文件和子目录,这通常不是一个好的计划。