javascript - Tyyppitiedostoa ei voi tuoda dynaamisesti deno-suoritettavassa tiedostossa


Yritän tuoda tiedoston aws:sta exe-tiedostoon sen julkisen linkin avulla perustuen johonkin user inputiin, mutta en pysty siihen

esim. loin exe-tiedostoni seuraavalla komennolla

deno compile --allow-all main.ts

Käyttäjä suorittaa tämän exe-tiedoston komennolla kuten ./exe --qId 345. Minä jäsennän tämän qId-arvon exe-tiedostossa ja lataan tiedoston julkisesta linkistä näin

let { runTestCases }  = await import ("https://test-cases.nyc3.digitaloceanspaces.com/<qId>.ts")

Mutta se antaa minulle seuraavan virheen

TypeError: Module not found
at async getQuestionTestCaseFile (file:///F:/CodeQuotient/Deno_exe/deno/Controllers/question_controller.ts:47:37)
at async file:///F:/CodeQuotient/Deno_exe/deno/main.ts:14:1

Se toimii hyvin, kun suoritan sen seuraavalla komennolla

deno run --allow-all main.ts

Haluan tietää, onko mahdollista tuoda moduuli dynaamisesti näin exe-tiedostossa vai ei.

Onko olemassa jokin muu tapa saavuttaa tämä?

Vastaus #1

Deno-version 1.29.1 alkaen:

Dynaamista import()-toimintoa ei tällä hetkellä tueta deno compile-komennossa.

Tämä on tunnettu ongelma, ja sitä seurataan seuraavassa GitHub-ongelmassa projektin arkistossa:

denoland/deno#8655 - deno compile ei tue dynaamista tuontia