我正在使用deskshell创建小型独立html 5应用程序,我想使用MySQL数据库。如何在不使用PHP或服务器端语言的情况下从JavaScript连接到MySQL?
答案 0 :(得分:1)
这绝对可以使用deskshell。关于什么是服务器以及什么是客户端等,这可能有点混乱。一般来说,它比你最初想的要简单得多。
我建议采用以下方法。 Deskshell使用未修改的nodejs二进制文件。因此,为了让生活更简单,首先要安装节点(因此它会为您设置路径等所有内容)。然后使用npm - 节点包管理器来安装一个允许你连接到mysql的模块。你可以去npm网站搜索mysql。当你找到一个包你可以npm安装包名。之后可以使用npm删除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”)中的deskshell代码更改为require(“./ path / to /package / folder”)
如果您的应用程序没有使用单独的服务器,我建议您使用sqlite3作为数据库引擎。这是因为sqlite3是一个基于进程数据库的文件,因此您不必在最终用户计算机上运行服务器进程。但是,如果要连接到现有服务器数据库,那么mysql是更好的选择。