【问题标题】:Deploy angular 7, mongo, express, node application on own server在自己的服务器上部署 Angular 7、mongo、express、node 应用程序
【发布时间】:2018-12-18 16:35:08
【问题描述】:

我想在我自己的服务器上使用 nodejs、mongo、express js 部署我的 Angular 应用程序。

我的方法是: -> ng build --prod(输出为 dist 文件夹) -> ng serve 在 dist 文件夹中

启动后端: -> node server js 文件

但我认为,它是不正确的方式 od 生产阶段。在 express 上添加了 http 服务器,在那里我用 hbs 创建了另一个索引 html 视图文件,我在那里使用:

<body>
  <my-app>Loading ...</my-app>
  <script src="/dist/bundle.js"></script>
</body>

但是在dist服务器上,有多个js文件。

如何使用 ng 选项(没有 webpack 或必须是 f.e. webpack?)创建我的 angular/mongo/node/express 应用程序(在 1 中,我自己的服务器,没有 aws、heroku、github 等)。有什么正确的方法吗?

【问题讨论】:

  • 你看到了吗:angular.io/guide/deployment
  • 是的,但我认为这种情况没有任何解决方案。最重要的问题 -> 有没有可能在没有 webpack 的情况下运行它?如果是,有什么解决方案可以从 express js(节点)http 服务器运行?什么是“生产/官方方式”?我到处都能看到 heroku、aws、firebase 等解决方案。关于“开发人员,没有生产”的解决方案。
  • 好问题。所有关于 ng --serve 和 http-client 包的教程。还需要专业网络开发人员对这个问题的回答。
  • 如果您在 Google 上搜索“MEAN”,您会发现 很多 篇文章介绍如何将这些技术结合使用,例如:auth0.com/blog/real-world-angular-series-part-1 或跳至第 8 部分部署:auth0.com/blog/real-world-angular-series-part-8
  • 谢谢,但我认为您不知道答案,或者您没有阅读我的问题。根据文章,它是相同的方式, ng build --prod 后跟节点服务器。这不是正确的解决方案。

标签: node.js angular express deployment


【解决方案1】:

我已经能够使用Caddy Server 作为网络服务器部署一个角度应用程序。

  • 通过 ng build --prod-true 创建 Angular 代码的构建。 这会在 dist 中创建一组捆绑的 Js 和 Html 文件 目录。

  • 将这些文件复制到您要运行应用程序的位置。

  • 接下来去 Caddy 网站下载 Caddy 的版本 你的操作系统。您可以选择各种功能,但对于我的部署 在防火墙内,一个简单的构建工作正常。
  • 将 caddy 文件拖放到您放置编译后的目录中 角码。

  • 创建一个 caddyfile(只是一个名为 caddyfile 的文件),添加 localhost:(你的 最喜欢的端口号)。

  • 运行 caddy,它将通过启动自动为您的应用程序提供服务 索引.html。您可以在 localhost:port 查看您的应用。

没有杂乱的节点安装。 Caddy 有各种附加组件来处理更复杂的场景,但部署是 caddy.exe、caddyfile 和您构建的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-16
    • 2020-10-03
    • 1970-01-01
    • 2018-10-25
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多