Javascript 具有角度资源的nodejs expressjs sendFile
我有index.html,当我点击一个按钮时,它调用一个使用$resource的角度服务Javascript 具有角度资源的nodejs expressjs sendFile,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,我有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
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'));
在那之后,我问自己在Angular服务中使用$resource返回什么。就在这一刻,我看到了我的连接功能:
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.logserviceRest.connect;在浏览器控制台中向我显示承诺。这是一个巨大的数组,每个元素有一个字符,其中包含我的login.html代码lol。有趣但对我没有帮助哈哈根选项是您希望从中提供文件的目录。假设您的文件夹结构如下所示:
| yourApp
| -- public/
| -- views/
|-- login.html
| -- controllers/
| -- routes.js
尝试使用应用程序设置根目录
您是否将路由器配置为处理/登录?处理/登录是什么意思?是的,这是便笺路由器。获取“/”。。。。但是它真的是/login,我的控制台;当我点击按钮时显示。所以它进入路由器。Get如果是你的要求,我在我的服务器上有这个是。js:app。使用'/login',login;您的login.html位于/public/views中,但您正在发送../public/login.html???哦,是的,谢谢。但编辑之后它就不起作用了……在我的例子中,yourApp文件夹是name Agenda。所以我试着告诉我:res.sendFile'public/views/login.html',{root:'../Agenda'};它不起作用了。。。我还尝试了一个非常简单的路径,如res.sendFile'C:\\Users\\\…';同样的结果。。这个res.send文件让我编辑了我的问题,我有关于问题的更多细节
res.sendFile('public/views/login.html', {root: '../<root folder name>'});
res.sendFile('public/views/login.html', {root: '../yourApp'});