我对 Deno 很感兴趣,所以我正在尝试一下。找到了有关构建 REST API 的教程here https://blog.logrocket.com/creating-your-first-rest-api-with-deno-and-postgres/.
因此,当我尝试运行它时,我收到此 InvalidData 错误:
error: Uncaught InvalidData: data did not match any variant of untagged enum ArgsEnum
at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
at Object.sendAsync ($deno$/ops/dispatch_json.ts:98:10)
at async Object.connect ($deno$/net.ts:216:11)
at async Connection.startup (https://deno.land/x/postgres/connection.ts:138:17)
at async Client.connect (https://deno.land/x/postgres/client.ts:14:5)
at async Database.connect (file:///Users/svenhaaf/git/deno/logrocket_deno_api/db/database.js:17:5)
现在,在我看来,尝试连接数据库时出现了问题,但我无法真正弄清楚是什么。
这个 InvalidData 错误是什么意思?我应该如何解决这个问题?
仅供参考,我的 deno --version 打印:
deno 0.42.0
v8 8.2.308
typescript 3.8.3
代码:
我从克隆了回购协议https://github.com/diogosouza/logrocket_deno_api https://github.com/diogosouza/logrocket_deno_api,并在config.js
,我编辑了第 1 行const env = Deno.env()
to const env = Deno.env
,因为看起来 Deno.env 变成了一个对象而不是一个方法。
本教程不使用版本化 URL,并且deno-postgres
正在使用的版本不兼容v0.42.0
, since https://deno.land/x/postgres/mod.ts
正在拉出master
Change db/database.js
导入自https://deno.land/x/[email protected] /cdn-cgi/l/email-protection/mod.ts
, since v0.3.11 https://github.com/buildondata/deno-postgres/releases是 Deno 的正确版本v0.42.0
import { Client } from "https://deno.land/x/[email protected] /cdn-cgi/l/email-protection/mod.ts";
如果您不希望代码在新的 Deno 或包版本发布时停止工作,请记住始终使用 URL 中的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)