Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何让我的应用程序(通过ng serve运行)连接到节点后端,同时保留自动重新加载功能?_Angular_Angular2 Cli - Fatal编程技术网

Angular 如何让我的应用程序(通过ng serve运行)连接到节点后端,同时保留自动重新加载功能?

Angular 如何让我的应用程序(通过ng serve运行)连接到节点后端,同时保留自动重新加载功能?,angular,angular2-cli,Angular,Angular2 Cli,我刚刚将应用程序迁移到Angular CLI。我已经启动并运行了RESTAPI节点服务器。我希望能够使用ng serve运行我的前端,在每次更改文件时具有自动重新加载功能,但也希望它连接到我的节点后端 Livereload服务器正在端口49152上运行 服务于4200端口 节点侦听端口8080 我的所有节点路由都以api作为前缀 这可能吗?因为还没有正式的答案,所以我会试一试。 假设您的节点驱动api在8080上运行。使用典型的node server.js命令,您可以在一个终端/cmd窗口中开始

我刚刚将应用程序迁移到Angular CLI。我已经启动并运行了RESTAPI节点服务器。我希望能够使用
ng serve
运行我的前端,在每次更改文件时具有自动重新加载功能,但也希望它连接到我的节点后端

Livereload服务器正在端口49152上运行 服务于4200端口 节点侦听端口8080

我的所有节点路由都以
api
作为前缀


这可能吗?

因为还没有正式的答案,所以我会试一试。 假设您的节点驱动api在8080上运行。使用典型的
node server.js
命令,您可以在一个终端/cmd窗口中开始。然后,在同一个项目文件夹中,与您的
package.json
相同的文件夹中,您将希望添加一个
proxy config.json
文件,其中包含以下内容

{
    "/api": { // or whatever your endpoint is in your api routes
        "target": "http://localhost:8080", // your node server.js api
        "secure": false
    }
}
然后可以使用
ngserve--proxy-proxy-config.json
启动项目


医生:

什么东西不起作用?我以前在tomcat服务器上做过,没有问题。我不确定节点服务器将如何改变任何东西。如果开发服务器在端口4200上为我的angular应用程序提供服务,任何后端API请求也将发送到端口4200。我怎么能让两台服务器监听同一端口?理论上,我可以改变我的服务,在不同的端口呼叫后端,但那将是一个痛苦,除了打破同一原产地政策。好的,我现在明白你的问题了。是的,在过去,我使用grunt服务器通过设置代理来解决这个问题(grunt服务器将代理所有与前端静态资源不匹配的请求)。在angular cli中似乎有这样一个功能,但尚未实现。你也可以看看。我在你提到的第一个链接中得到了一些有用的提示。谢谢超级解决方案@gh0st。我一直在寻找这个解决方案,因为5个小时!非常感谢!:)