用于 JavaScript 的 Couchbase 语句
这是 Couchbase Lite 的 JavaScript(实际上是 TypeScript) 执行.
拟用于网页浏览器.
服务器和CLI环境,如Node.js,Deno和Bun,没有正式支持,
因为它们没有适当执行 索引数据库 API (英语).
在那些环境中你可以使用CBL-JS 帮助 fake-indexeddb 软件包,
但是由于数据库没有坚持到磁盘上,所以没有多大用处.
此ReadMe最后一次更新是2025年11月12日.
1. 开始/文件
这个 维基百科 有一些文件介绍 API 密码,并描述与 其他 Couchbase Lite 平台.
在网页中使用API的例子,请参见 examples/browser.ts。 。 。 .
如果你想自己做这个榜样,你看 "踢轮胎"。 。 。 .
在您自己的项目中使用
安装国家预防机制软件包 "@couchbase/lite-js"。 。 。 .
安装分析( Reo.dev)
此软件包取决于 reo-census,它发送
一次性安装事件 雷奥德夫 从其 postinstall 剧本.
活动包括软件包名称和版本、OS和Node.js的细节、安装时间戳和
目录、 您的 git 用户名 域名 您的 git 电子邮件地址( 而非完整地址) ,以及
CI环境信息. CBL-JS本身没有分析电话.
选择退出, 设定 PACKAGE_TRACKER_ANALYTICS=false 安装时:
PACKAGE_TRACKER_ANALYTICS=false npm install @couchbase/lite-js
不运行依赖关系的安装 安装脚本发送无: npm install --ignore-scripts, (中文(简体) ),
Bun, pnpm 10+和 Yarn 4 (最后三个跳过依赖) postinstall 默认的脚本).
2. 源代码
代码在 src 目录.
公共API公布于 src/couchbase-lite.ts它只是再出口公共符号.
分目录为:
blip: 复制机使用的BLIP RPC协议blob: Blob/attachment 类和支持代码database: 数据库、收集和文件执行;加上公共复制人类query: 查询执行情况replicator:复制者执行(但不包括其公开的API)util: 内部公用事业
测试在源目录中混合, 在命名的文件中 *.test.ts。 。 。 .
3. 建设你自己
依赖关系
开发需要安装 阿宝, (中文(简体) ),
或者说 节点.js 财务报告和审定财务报表 无。 。 。 .
这些方向假定为包; 如果您使用节点+npm, 则替换 npm 页:1 bun 在命令行.
软件包依赖性( 将由 Bun 安装) :
- 总论:
@logtape/logtape-- 记录
- 英国皇家警察:
@foxglove/crc- CRC32核对和.pako- 数据压缩(它是zlib的端口. )isomorphic-ws-- WebSockets(浏览器中不需要)
- 数据库 :
dexie-- IndexedDB高级包装.fake-indexeddb- 模拟索引DB执行(浏览器不需要)sha.js—— SHA-1 文摘 (使用而不是JS密码,因为它是同步的buffer-- 需要使用sha.js在浏览器中.
- 查询 :
ohm-js-- Parser库,用于N1QL/SQL++.date-fns- N1QL 日期/时间功能regexp.escape- 逃避正则表达式字符串。 用于实施类似.
大楼
要编译类型脚本代码 ./src 输入已修改的 JavaScript 文件 ./dist数字 :
bun install(仅第一次)bun run build
运行测试
测试在命名的文件中 *.test.ts它们由维特公司运营.
- 进行基础(非复制)测试:
bun run test - 要在浏览器中运行基础测试 :
bun run test:browser - 要用数据库加密进行基础测试:
bun run test:encrypted - 为了进行复制测试:
bun run test:replicator或者说bun run test:replicator-encrypted(首先需要配置同步网关;见src/database/replicator.ts中的说明) - 要进行N1QL符合性测试:
bun run test:n1ql或者说bun run test:niql-encrypted(需要先下载约24MB的测试数据;参见src/query/N1QL TestSite.ts中的取向)
集成测试 aka the TDK
注:TDK是库克基地的内部,不公开.
所有 Couchbase Lite 平台的集成和系统测试均由
测试开发套件 (中文(简体) ). 集成 CBL-JS 的胶水编码在
servers/javascript 目录.
4. 运行实例
...在网页浏览器中
见维基页面 "踢轮胎"。 。 。 .
...从命令行
我们有一个在服务器环境中复制的测试(Bun或节点.js). 由于索引DB不可用,它使用 虚构索引b 软件包; 这个数据库是麻黄的,因为它只用于测试目的.
要运行,请先在顶部阅读指令
examples/sync_collections_node.ts
并设置您的服务器(同步网关或边缘服务器).
然后运行 bun run examples/sync_collections_node.ts