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'

Relaterade artiklar