繁体   English   中英

在node.js中获取[Cannot GET /test.html]

[英]getting [Cannot GET /test.html] in node.js

我对node完全陌生,并且我试图使此示例工作:

[/path/to/node/server.js]

var connect = require('connect'); 
var serveStatic = require('serve-static'); 
var app = connect(); 
app.use(serveStatic('../angularjs'), {default: "test.html"}); 
app.listen(5000);

我在angularjs文件夹中有文件test.html:[/path/to/node/angularjs/test.html]

但是当我请求(localhost:5000 / test.html)时,我进入了导航器:

无法获取/test.html。

有任何想法吗?

您将需要为server-static提供angularjs的绝对路径,以确保它在期望的路径中搜索。

您可以使用脚本的__dirname作为其基础:

...serveStatic(__dirname + '/angularjs')...

或与path.join()

var path = require('path');
// ...

...serverStatic(path.join(__dirname, 'angularjs'))...

这是因为serve-static正在使用的文件系统模块当前工作目录process.cwd() )解析相对路径。

因此, ../angularjs /path/to/node/angularjs ../angularjs是否解析为/path/to/node/angularjs取决于从哪个目录启动server.js

目前,它可以在/path/to/node/angularjs/

$ cd /path/to/node/angularjs
$ node ../server.js

# resolves: '/path/to/node/angularjs' + '../angularjs'
# to:       '/path/to/node/angularjs'

或者,通过将../ (父目录)更改为./ (当前目录),可以从/path/to/node启动它:

...serveStatic('./angularjs')...
$ cd /path/to/node
$ node server.js

# resolves: '/path/to/node' + './angularjs'
# to:       '/path/to/node/angularjs'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM