[英]nodejs expressjs sendFile with angular resource
我有index.html,当我单击按钮时,它调用使用$ resource的角度服务。
var serviceRest = $resource(URL_API, null,
{
"connect" : { method: "GET", url: "http://localhost/login"}
});
然后在我的expressJS路线中,我有这个:
router.get('/',function(req,res){
console.log("Hi there");
res.sendFile('../public/views/login.html', {root: __dirname});
});
但是它什么也没做。 什么都没发生,但是我的控制台日志显示出来,所以我的sendFile可能是假的……我留在index.html上。
| -- Agenda
| -- public
| -- views
| -- login.html
| -- controllers
| -- routes.js
我的路由器文件在./controllers
,而我的login.html在./public/views
编辑:
好的,所以问题不是路径问题。 但是,在我尝试过的所有解决方案中,只有一个给了我很好的结果。
res.sendFile(path.join(__dirname, '../public/views/login.html'));
之后,我问自己:“我使用$ resource返回的Angular Service返回的内容是。这时我看到我的connect()
函数:
var serviceRest = $resource(URL_API, null,
{
"connect" : { method: "GET", url: "http://localhost/login"}
});
return {
connect: function() {
console.log("connect");
console.log(serviceRest.connect());
return serviceRest.connect();
}
}
这个console.log(serviceRest.connect());
在浏览器控制台中向我显示了一个Promise。 这是一个巨大的数组,每个元素一个字符,其中包含我的login.html代码大声笑。 好笑但不帮我哈哈
根选项是您要从中提供文件的目录。 假设您的文件夹结构如下所示:
| yourApp
| -- public/
| -- views/
|-- login.html
| -- controllers/
| -- routes.js
尝试使用yourApp设置根目录
res.sendFile('public/views/login.html', {root: '../<root folder name>'});
将上面的“根文件夹名称”替换为“ public ”文件夹的父目录名称。 考虑以上文件夹结构为:
res.sendFile('public/views/login.html', {root: '../yourApp'});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.