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