Aus irgendeinem Grund hat sich kürzlich mein Visual Studio-Code geändert und bietet nur absolute Importe von der Unterpaketebene mit meinen Lerna-Paketen an, zum Beispiel:
Wie Sie sehen können, schlägt der automatische Import den @package/server/src/database
Pfad zur Datei vor, wenn er sich gerade befinden sollte, ../database
da sich die zu bearbeitende Datei im selben Paket befindet und sich nur ein Ordner unter der Datei befindet, die die Datenbankvariable enthält, die ich verwenden möchte.
Ist dies ein Fehler oder ein Konfigurationsproblem?
Ich habe meine Import Module Specifier
Einstellung für TypeScript in Visual Studio Code auf alle drei Optionen (automatisch, relativ und absolut) festgelegt, und keine davon scheint einen Unterschied zu machen.
quelle
importModuleSpecifier
aufrelative
in Arbeitsplatz- und Benutzerdateien und die Einfuhren nach wie vor mit einem vollen pat - edit: diese Frage vorgeschlagen TS - Version - es gibt eine andere Version und Ausgabe - Seltsamkeit verursachen könnte. Der Wechsel von TS 2.3.2 zu 3.4.5 hat dieses Problem für mich behoben. / AchselzuckenAntworten:
In Visual Studio Code, Menü Datei → Einstellungen → Einstellungen → Benutzereinstellungen ,
"typescript.preferences.importModuleSpecifier": "relative"
Es funktioniert gut für mich. Es importiert
import { RegistrationComponent } from '../../abc-modules/registration/registration.component';
anstelle von
import { RegistrationComponent } from 'app/abc-modules/registration/registration.component';
quelle
JavaScript › Preferences: Import Module Specifier Preferred path style for auto imports.
->relative
(Auch für Scherztests brechen absolute Pfade die Testsuite @JohnTribe.)Ich bin hier von Google gelandet und hatte das gegenteilige Problem. Meine Visual Studio Code-Instanz importierte immer den relativen Pfad, obwohl er aus einem anderen Lerna- Paket stammte .
Es stellt sich heraus, dass ich einfach vergessen habe, das Paket, das falsch importiert wurde, in die
package.json
Datei meines konsumierenden Pakets einzufügen.Jetzt funktioniert alles wie erwartet.
quelle