【问题标题】:Node.js & MySQL - JavaScript application - how to interact with offline AND online databasesNode.js & MySQL - JavaScript 应用程序 - 如何与离线和在线数据库交互
【发布时间】:2014-02-27 04:23:38
【问题描述】:

我正在使用 JavaScript 制作一个网络应用程序。我计划使用 Node.js 将应用程序连接到现有的 MySQL 数据库。

首先,Node 代码会写在与我的应用程序相同的 .js 文件中吗?还是单独的文件?

我需要数据始终是最新的(即使您要关闭浏览器并重新打开它,甚至在用户没有 wifi 连接的情况下),所以我的想法是不断更新本地设备的数据库,然后间歇性地更新 MySQL 数据库。这是最好的策略吗?如果是这样,Node 究竟如何与离线 db 和 MySQL 通信?

【问题讨论】:

    标签: javascript mysql database node.js


    【解决方案1】:

    首先,Node 代码会写在与我的应用程序相同的 .js 文件中吗?还是单独的文件?

    可能将客户端 JavaScript 与服务器端 JavaScript 保存在同一个文件中,但这样做没有任何意义。它们是单独的程序。 (另一方面,库文件是另一回事)。

    所以我的想法是不断更新本地设备的数据库,然后间歇性地更新 MySQL 数据库。

    使用本地数据库并同步到共享数据库是一种常见策略。不过,您确实需要以适合您的目的的方式处理冲突更新。

    如果是这样,Node 如何与离线数据库和 MySQL 通信?

    Node.js 不能与离线数据库通信,至少不能直接。

    您将在浏览器中运行一个 Web 应用程序。它将使用客户端 JavaScript 和客户端数据库以及一些与服务器通信的方式(通常是通过通过 HTTP 向 Web 服务发送 JSON 和从 Web 服务发送 JSON)。

    然后您将在 Node.js 中运行一个服务器端应用程序。它将使用服务器端 JavaScript 和服务器端 MySQL 数据库以及一些与客户端通信的方式(即托管 Web 服务的 HTTP 服务器)。

    【讨论】:

    • 这是一个单页应用程序。我正在将我的服务器通信从 PHP 转换为 NodeJS。当您说“通过发送 JSON 与服务器通信”时,您是指以与 PHP 相同的方式使用 AJAX 吗?
    • 是的,这是通常的做法。
    • 我正在考虑使用 NodeJS,因为我认为它与我的客户端 JS 一起使用会很简单。既然我明白事实并非如此,我所看到的好处就是 NodeJS 的速度(非阻塞)。听起来你知道你在说什么。 NodeJS 还有哪些其他好处可以说服我将工作投入到转换中?
    • 我对 node.js 的研究还不足以成为它的倡导者。
    猜你喜欢
    • 2015-07-27
    • 1970-01-01
    • 2013-11-06
    • 2017-01-06
    • 1970-01-01
    • 2010-12-09
    • 2012-09-11
    • 1970-01-01
    • 2016-11-26
    相关资源
    最近更新 更多