Lovefield:基于IndexedDB的跨浏览器、SQL风格的关系型查询引擎
安装前提条件
你需要安装下面的程序来完成下面的步骤里的任务。
Python 和 Java
为了能顺利的完成Lovefield的安装和使用,你的开发环境里需要有Python 和 Java,并设置相应的PATH。
node.js
除了使用nodejs.org上的installer外,你还可以使用nvm来安装node.js。
你还需要安装几个模块,我们强烈推荐使用npm来完成这个任务。下面是需要的模块:
闭包编译器和库
我们需要使用最新版的闭包编译器。不要担心,你的代码并不依赖这些版本和库,我们只用它来生成相应的JS绑定代码。
为了获得最新的编译器和程序库,你需要安装git,并执行下面的命令:
cd closure git clone https://github.com/google/closure-library.git git clone https://github.com/google/closure-compiler.git cd closure-compiler ant jar
我们并没有下载最新的JAR,我们需要参考repo里的外围文件。
如何使用Lovefield
使用Lovefield需要3个步骤:
- 定义schema
- 为你的代码生成绑定的JavaScript
- 在你的代码来include绑定的js
定义schema
编写YAML文件定义你的数据库schema:
%YAML 1.2 --- name: mydb version: 1 table: Card: column: id: string name: string
编译
使用nodejs执行tools/bundle.js创建编译绑定文件。它们会自动的添加到你的代码库里。
node tools/bundle.js \ --schema my_schema.yaml \ --namespace my.namespace \ --outputdir ~/mypath \ --compiler ~/src/closure-compiler/build/compiler.jar \ --library ~/src/closure-library
输入node tools/bundle.js
命令,会出现用法说明。你需要指定闭包编译器和程序库的地址,你还可以自定义输出地址。
如何在代码中使用Lovefield
<script src="mysrc/mydb_bundle.js"></script> <script> mydb.getInstance().then( function(db) { var card = db.getSchema().getCard(); var query = db.select(). from(card). where( card.id.eq('12345')); return query.exec(); }).then(function(results) { }); </script>
你也许感兴趣的:
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
- 【外评】大科技公司致欧盟:“去死”
- npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了
- 【外评】如果您没有在 Edge 中使用必应,微软现在会说您的电脑需要 “修复”
- Chrome 浏览器开发工具(DevTools)现在使用双子座(Gemini )来帮助处理控制台中的 JavaScript 错误
你对本文的反应是: