Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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
Node.js 直接在服务器中运行后端_Node.js_Angular - Fatal编程技术网

Node.js 直接在服务器中运行后端

Node.js 直接在服务器中运行后端,node.js,angular,Node.js,Angular,我目前正在使用带有代理配置的ngserve进行开发,而代理指向同一台机器上的另一个nodejs实例 此后端是一个简单的express服务器,如下所示(简化): 前端(ng-serve)在端口4200和代理/api上运行 据我所知,这是推荐的设置 但是,我更希望后端直接在ngserve实例中运行,而不是代理。 如果可能的话,甚至可以利用ng的自动重新加载功能,这样当我更改后端代码时就不必重新启动服务器 由于两者都是nodejs,ng似乎是可配置的,我认为这是可能的,但我找不到一个起点来定义我自己的

我目前正在使用带有代理配置的
ngserve
进行开发,而代理指向同一台机器上的另一个nodejs实例

此后端是一个简单的express服务器,如下所示(简化):

前端(
ng-serve
)在端口4200和代理/api上运行

据我所知,这是推荐的设置

但是,我更希望后端直接在
ngserve
实例中运行,而不是代理。 如果可能的话,甚至可以利用ng的自动重新加载功能,这样当我更改后端代码时就不必重新启动服务器

由于两者都是nodejs,
ng
似乎是可配置的,我认为这是可能的,但我找不到一个起点来定义我自己的路由

这是可能的 您只需要利用nodejs路由将您的angular放到后端

基本上,angular是一个“静态文件”,入口点来自index.html

    // Redirect all the other resquests
    this.app.get('*', (req, res) => {
        res.sendFile(path.resolve('dist/index.html'));
    });

但请记住,您还需要处理image、js、css和其他应用程序的路由。

您想在单个命令上运行这两个应用程序吗?@Chellappanவ 确切地同一端口上的两个服务4200此链接可能会帮助您:这是开发后的更多操作方法。但是我想保留
ngserve
的所有开发者优势,比如自动编译和自动重新加载。我不想在后端集成angular,我想在angular中集成后端。
    // Redirect all the other resquests
    this.app.get('*', (req, res) => {
        res.sendFile(path.resolve('dist/index.html'));
    });