javascript - Typescript flera importer
Jag vill importera 'express'-modulen till min app.
som Mozilla säger, kan vi använda denna kod som skrivs nedan:
import { Application }, * as Express from 'express'
men när jag använder det i TypeScript och VSCode visas ett fel, så jag tvingades använda denna kod:
import * as Express from 'express'
import { Application } from 'express'
hur kan jag lösa problemet?
Svar #1
Din kod :
import { Application }, * as Express from 'express'
Är fel. Som tur är använder du TypeScript och det förhindrar en bugg. Den korrekta syntaxen är:
import * as Express from 'express'
import { Application } from 'express'
Vilket du redan har listat ut. Du kan inte ha medlems-importer och *-importer på samma rad. MDN-dokumentationen återspeglar också det https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import
Svar #2
Om jag har tolkat TypeScript korrekt så importerar man moduler med:
import * as Express from 'express'
Kommer att skapa ett namnrymd som du kan referera till alla olika metoder/komponenter inuti med syntax som:
Express.Application
Importerar med
import { Application } from 'express'
Kommer istället endast att importera Application-medlemmen av Express, som sedan refereras som sin egen klass.
Om du inte behöver allt från Express, är den första importen onödig, du kan istället kedja dina beroenden med
import { Application, 'Member1', 'Member2' } from 'express'
