使用html5 standalone应用程序使用deskshell连接到MySQL

我正在使用deskshell制作小型独立的html 5应用程序,我想使用MySQL数据库。 如何在不使用PHP或服务器端语言的情况下从JavaScript连接到MySQL?

这绝对是可能的使用deskshell。 对于什么是服务器和什么是客户端等等,可能会有些混乱。一般来说,比起你想象的要简单得多。

我build议采取以下方法。 Deskshell使用未经修改的nodejs二进制文件。 所以为了使生活更简单,首先安装节点(所以它为你设置了所有的path等)。 然后使用npm – 节点包pipe理器来安装一个允许连接到mysql的模块。 你可以去npm网站searchmysql。 当你find一个包你可以用npm install packagename。 之后可以使用npm remove packagename删除。 (检查网站的确切语法)。

因此,使用这种方法并从模块主页复制和修改示例,您应该能够获得nodejs连接到mysql并运行一些查询。

然后下一步就是将“数据库能力”添加到您的应用程序中。 在这里,你应该意识到你有2个JavaScript引擎运行。 你在chrome浏览器中运行一个“沙盒”v8 js引擎,然后你将有第二个“unsandboxed”的v8 nodejs来运行你的app.js文件。 我发现最简单和最令人愉快的连接方式是使用websocket从一个v8发送消息到另一个。 然后你可以决定抽象的级别来写你的小api。 所以你可以在浏览器脚本中编写所有的逻辑,发送sql ocer的socket,nodejs app.js脚本然后收到消息,查询mysql并返回结果为json。 另一种方法是你问api 20个用户对象,它将请求转换成sql并为你执行,并将其返回给浏览器。

您需要将node_modules / packagename文件夹作为node_modules / packagename复制到您的应用程序目录中。 此外,您可能需要将您的桌面代码从require(“packagename”)更改为require(“./path/to/package/folder”)

我build议你看看使用sqlite3作为你的数据库引擎,如果一个单独的服务器没有用于你的应用程序。 这是因为sqlite3是一个基于进程数据库的文件,因此您不必在最终用户计算机上运行服务器进程。 但是,如果你连接到一个现有的服务器数据库,那么MySQL是更好的select。