gpt4 book ai didi

node.js - 如何将 Angular(前端)和 Node.js(服务器)应用程序打包在一起

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:33 25 4
gpt4 key购买 nike

我正在构建一个 Angular 8 前端应用程序,以及一个使用 Express 框架作为应用程序后端的 Node.js Web 应用程序。基于 Express 的服务器端 Web 应用程序将公开一个 REST API,该 API 将由 Angular 应用程序使用,而 Angular 应用程序又可以对外部服务进行 HTTP 调用。

由于特定原因,我需要将这两个应用程序一起分发。我还想将这两个应用程序的开发作为一个项目来管理。我在网上搜索了一些好的做法,看到了几种方法,例如:

  • 为 Angular 应用程序提供服务,就像在 Node.js Web 应用程序的目录中提供一组静态文件一样
  • 通过在顶级文件夹的 package.json 文件中定义脚本,使用concurrently 之类的包同时运行 Angular 和 Node.js 应用程序。

我想有多种方法可以实现这一目标,我希望有人可以使用相同或相似的堆栈来分享一种常见的方法。

2019 年 10 月 21 日更新 我想提供一些有关我的具体要求的背景信息。我不打算将其托管在外部服务器上。最终,我的目标是创建一个封装前端和 Web 应用程序的 Electron 应用程序。我目前正在为此进行原型(prototype)设计以供本地开发和执行,并分发给一些用户进行审查。

最佳答案

部署 Angular 应用程序时,应将其作为静态 Assets 文件(html、js、css - 或 bundle )交付,然后由常规 Web 服务器提供服务。所以你的第一种方法看起来是正确的。当访问您自己的后端时,您不必关心 CORS 问题,因为请求将是同源的。

第二个想法看起来像是您想要使用 Angular CLI 开发服务器,这对于生产来说不是一个好主意。所以我不会走那条路。

作为替代方案,您可以使用容器并为前端提供一个 Angular 容器(例如使用 nginx 来提供 Assets ),并为 Node 应用程序提供第二个容器。这些可以使用正确配置的反向代理进行集成,或者作为前面有 Ingress 的 pod 部署到 kubernetes(毕竟是反向代理)。

关于node.js - 如何将 Angular(前端)和 Node.js(服务器)应用程序打包在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58476447/

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