【问题标题】:Angualar , NodeJs and Mysql [closed]Angular、NodeJs 和 Mysql [关闭]
【发布时间】:2020-08-20 00:24:08
【问题描述】:

显然是 Angular 的新手,我一直在使用 PHP 从头开始​​编写项目。 我决定深入研究一个框架,然后为 API 选择了 angular,然后选择了 Express;数据库将是 MYSQL。 现在,由于我一直在使用本地主机 (WAMP),因此无法将所有这些连接在一起。

请协助如何连接所有这些。 谢谢....

【问题讨论】:

  • 错字了,我的意思是 Angular
  • 连接它们是什么意思?
  • @RonRofe 我的意思是让他们一起工作。我正在转换一个我只用 PHP 文件设计的应用程序。 PHP 文件将只是连接到数据库,执行查询和返回结果就这么简单。但是我如何在 Angualr 中为前端和 Express 实现相同的路径来处理后端?另外,我现在将不再使用我的 WAMP 的数据库存储在哪里?

标签: mysql angular express


【解决方案1】:

您可能希望使用 HTTP 或 HTTPS 将所有内容连接在一起。
您的后端(节点 + 快递)公开了多个路由(url),然后触发控制器,然后响应 http 请求。

在 Angular 中,您可以使用 httpclient 发出这些 http 请求:Angular docs
您向您的 express 应用程序的 url 发出这些请求。例如,如果它在您的机器和端口 3000(通常用于节点应用程序)上运行,那么您向 http://localhost:3000/<route> 发出请求。

在 Angular 中,您通常使用一种或多种服务来处理 HTTP 请求。这样,您可以在多个组件中重用您的代码,或者通过在服务中保存值然后从服务中检索值而不是发出新的 HTTP 请求来保存请求。您可以在这里阅读更多关于 Angular 服务的信息:Angular Docs

请记住,Angular 应用程序正在客户端浏览器中运行。因此,当您稍后部署应用程序时,您需要向后端 url 或 ip 发出请求。您还需要确保该客户端可以使用后端端口。您可以在角度使用环境,在那里您可以设置环境变量。当您稍后使用 --prod 标志构建您的应用程序时:ng build --prod 然后 Angular 将使用生产环境变量而不是非生产环境变量。更多信息在这里:Angular Docs

【讨论】:

  • 克鲁格,非常感谢。看来我只需要先熟悉 Angular。
  • 我真的可以向你推荐这个关于 Angular http 部分的指南:Guide。它涵盖了 Angular HTTP 所需的几乎所有主要概念,包括一些额外的概念。例如 HTTP 拦截器,用于在 http 请求离开后端或进入服务之前拦截它。例如,如果您想向后端的每个请求添加 Auth-Header 或在某些失败条件下重试,这将非常有用。
  • 克鲁格,数据库现在将驻留在哪里,我将如何访问它?
  • 您将在后端(Node/Express App)中进行所有数据库交互。如果您想编写纯 SQL,您可能需要一个 ORM,例如 Sequelize,或者您需要一个数据库驱动程序。例如:MySQL NPM。然后,您将创建使用这些数据库驱动程序并使用所需数据(通常为 json)响应的控制器。然后你会想要创建一个路由,将控制器/控制器功能映射到一个 URL。这将被 Angular 访问。
猜你喜欢
  • 2018-10-30
  • 2016-07-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 2018-10-26
  • 2015-04-08
  • 2021-06-18
  • 1970-01-01
相关资源
最近更新 更多