Je suis enthousiasmé par Deno alors je lui donne un essai. J'ai trouvé un tutoriel sur la construction d'une REST API ici .
Ainsi, lorsque j'essaie de l'exécuter, j'obtiens cette erreur 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)
Maintenant, il me semble que quelque chose ne va pas lors de la tentative de connexion à la base de données, mais je ne peux pas vraiment comprendre quoi.
Que signifie cette erreur InvalidData? Comment dois-je résoudre ce problème?
FYI mon deno --version imprime:
deno 0.42.0
v8 8.2.308
TypeScript 3.8.3
Code: J'ai cloné le dépôt de https://github.com/diogosouza/logrocket_deno_api , et dans config.js
, J'ai modifié la ligne 1 de const env = Deno.env()
à const env = Deno.env
, Car il ressemble à Deno.env est devenu un objet au lieu d'une méthode.
Le didacticiel n'utilise pas d'URL versionnées et la version de deno-postgres
Utilisée n'est pas compatible avec v0.42.0
, Car https://deno.land/x/postgres/mod.ts
Extrait de master
Modifiez db/database.js
Pour importer depuis https://deno.land/x/[email protected]/mod.ts
, Car v0.3.11
est la version correcte pour Deno v0.42.0
import { Client } from "https://deno.land/x/[email protected]/mod.ts";
N'oubliez pas de toujours utiliser la version dans l'URL si vous ne voulez pas que le code cesse de fonctionner lorsqu'une nouvelle version de Deno ou de package est publiée.