docs: 说明 test-qr 的参考实现前置条件
test-qr.mjs 需要一个 npm qrcode 作为对照(仅测试用,非运行时依赖), 但脚本与 README 都没说明如何准备,克隆后直接 npm test 会在这一步失败。 现在脚本直接打印可复制的准备命令,README 中英双语也补充了说明与 QR_ORACLE_DIR 的用法。
This commit is contained in:
@@ -125,6 +125,9 @@ adaptive choice, remove the last three entries of `cordis.patch.yml` (the
|
||||
node scripts/build-client.mjs # generates client.js from src/panel.js + src/qrcode.js
|
||||
node scripts/smoke.mjs # host forwarding contract (HTTP/WS/Host/Origin/cookie/bind failure)
|
||||
node scripts/test-qr.mjs # module-by-module comparison against the npm qrcode reference
|
||||
# test-qr.mjs compares against a reference implementation (test-only, never a runtime dep):
|
||||
# mkdir -p /tmp/qr-oracle && cd /tmp/qr-oracle && npm init -y && npm i qrcode@1.5.4
|
||||
# elsewhere: QR_ORACLE_DIR=<dir> node scripts/test-qr.mjs
|
||||
node scripts/test-client.mjs # browser contract (slot registration, render, route agreement)
|
||||
```
|
||||
|
||||
|
||||
@@ -126,6 +126,9 @@ DSH 官方把「持久化设置」限制在回环页面:客户端由 `location
|
||||
node scripts/build-client.mjs # 由 src/panel.js + src/qrcode.js 生成 client.js
|
||||
node scripts/smoke.mjs # 宿主端转发契约(HTTP/WS/Host/Origin/cookie/绑定失败)
|
||||
node scripts/test-qr.mjs # 与 npm qrcode 参考实现逐模块比对
|
||||
# test-qr.mjs 需要一个“参考实现”作为对照(仅测试用,不是运行时依赖):
|
||||
# mkdir -p /tmp/qr-oracle && cd /tmp/qr-oracle && npm init -y && npm i qrcode@1.5.4
|
||||
# 放在别处就用 QR_ORACLE_DIR=<dir> node scripts/test-qr.mjs
|
||||
node scripts/test-client.mjs # 浏览器端契约(槽位注册、渲染、路由一致)
|
||||
```
|
||||
|
||||
|
||||
@@ -16,6 +16,9 @@ try {
|
||||
oracle = requireFromOracle('qrcode')
|
||||
} catch (error) {
|
||||
console.error(`cannot load the qrcode oracle from ${oracleDir}: ${error.message}`)
|
||||
console.error('prepare it once with:')
|
||||
console.error(` mkdir -p ${oracleDir} && cd ${oracleDir} && npm init -y && npm i qrcode@1.5.4`)
|
||||
console.error(`or point QR_ORACLE_DIR at a directory that already has it.`)
|
||||
process.exit(2)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user