你如何从server / app.js服务client / index.html?
我的文件结构:
- simulated-selves - client - index.html - server - app.js
我试图发送用户index.html
时,他们击中/
路线。
// server/app.js app.get('/', function(req, res) { res.sendFile(__dirname + '/../client/index.html', null, function(err) { if (err) { console.log('error: ', err); res.status(err.status).end(); } else res.status(200).end(); }); });
这不是工作。 这是被注销的错误:
error: { [Error: Forbidden] status: 403 }
所以基本上我可以访问app.js
__dirname
。 由于app.js
位于server
文件夹中, __dirname
parsing为/Users/azerner/code/simulated-selves/server
。 由于我需要访问client
文件夹中的index.html
,我需要操作这个__dirname
,我有。 我知道我可以做一些string操作,但我正在寻找最好的方法来做到这一点。
有一个节点内置模块处理解决path,这可能会帮助你解决这个问题
函数path.resolve
将处理相对部分( /../
)并为您build立绝对path。
例如:
var path = require('path'); var clientFile = path.resolve(__dirname + '/../client/index.html');
有关pathhttp://devdocs.io/node/path#path_path_resolve_from_to上的文档,请参阅更多信息