gpt4 book ai didi

javascript - Nodejs ExpressJS sendFile 与 Angular 资源

转载 作者:行者123 更新时间:2023-12-03 04:09:36 25 4
gpt4 key购买 nike

我有我的index.html,当我单击按钮时,它会调用使用$resource的 Angular 服务。

var serviceRest = $resource(URL_API, null,
{
"connect" : { method: "GET", url: "http://localhost/login"}
});

然后在我的expressJS route 我有这个:

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 返回什么。就在此时,我看到了我的 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 代码,哈哈。有趣但对我没有帮助哈哈

最佳答案

root 选项是您要从中提供文件的目录。假设您的文件夹结构如下所示:

| 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'});

关于javascript - Nodejs ExpressJS sendFile 与 Angular 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44384385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com