2017-07-21 4 views
2

Ich möchte 'Express' Modul in meine App importieren.Typescript mehrere Importe

als Mozilla says, können wir diesen Code schreiben unten verwenden:

import { Application }, * as Express from 'express' 

aber wenn ich es in Typoskript verwenden und VSCode es Fehler zeigt, damit ich diesen Code verwenden gezwungen:

import * as Express from 'express' 
import { Application } from 'express' 

wie kann ich das Problem lösen?

+0

Was passiert, wenn Sie es neu anordnen? * wie Express sollte zuerst sein. – Win

Antwort

1

Ihr Code:

import { Application }, * as Express from 'express' 

ist falsch. Glücklicherweise you are using TypeScript and its preventing a bug. Die korrekte Syntax lautet:

import * as Express from 'express' 
import { Application } from 'express' 

Welche Sie bereits herausgefunden haben. Sie können nicht Mitglied Importe und * Importe in der gleichen Zeile haben. Die MDN docs reflektieren auch, dass https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import

1

Wenn ich Typoskript interpretiert korrekt dann den Import-Modulen:

import * als Express von 'Express'

Wird eine Namespace erstellen, die Sie verweisen können alle verschiedenen Methoden/Komponenten im Inneren mit Syntax wie:

Express.Application 

Importe mit

Import {Anwendung} von 'Express'

Wird stattdessen nur das Anwendungsmitglied Express importieren, die dann als eine eigene Klasse referensed wird.

Wenn Sie nicht alles von Express benötigen, dann ist die erste Import nicht erforderlich ist, können Sie stattdessen die Kette Ihre Abhängigkeiten mit

import { Application, 'Member1', 'Member2' } from 'express' 
Verwandte Themen