node.js - Typescript Express-server ger "Cannot use import statement outside of module"
Typescript 3.8 introducerade top level await-funktionalitet. Detta är fantastiskt för mig! Jag aktiverar det genom att ställa in module och moduleResolution inställningarna i tsconfig till ESNext respektive node.
Plötsligt ett problem dock, min applikation startar inte längre. Istället visas ett fel:
SyntaxError: Cannot use import statement outside a module`
När jag tittar över min kod vet jag exakt var den kastar felet, men jag är inte säker på hur jag ska fixa det. Jag har lagt till type:module i min package.json, men får fortfarande ingenting att fungera.
Här är en titt på hur min boot.ts-startfil ser ut. Under huven startar vi en express-server.
import { Server } from "./api/server";
import {Storage} from "./boot_storage";
import BackedLogger from "./logger/logger";
const storage = new Storage();
storage.boot()
.then(() => {
Server.Instance.startServer(BackedLogger)
});
Jag vet att detta inte är mycket att gå på. Jag förstår fortfarande inte imports i Typescript/Node särskilt väl. Jag är mer än villig att svara på frågor och ge förtydliganden.
Jag är mer än villig att ändra hur min applikation startar för att få detta att fungera, så bra kommer toppnivå async/await vara för mig.