Heim >Web-Frontend >js-Tutorial >Ts transpiliert absolute Pfadanweisungen in Ihrem npm-Paket

Ts transpiliert absolute Pfadanweisungen in Ihrem npm-Paket

WBOY
WBOYOriginal
2024-08-29 12:41:52830Durchsuche

Heute stand ich vor einer komplexen Typescript-Situation im Zusammenhang mit einer Bibliothek, .d.ts-Dateien und relativen Pfaden.


Wir veröffentlichen eine Bibliothek von React-Komponenten (einschließlich der Typen) auf npm.

Unsere Front-End-Projekte enthalten diese Bibliothek wie jedes andere npm-Paket.

Normalerweise haben unsere Frontend-Projekte in ihrer tsconfig.json die Option „skipLibCheck: true“

Ts transpiling absolute path statements in your npm package

Eine unserer Apps hatte dieses Flag nicht (standardmäßig ist dieses Flag deaktiviert und ehrlich gesagt verstehe ich nicht, wer dieses Verhalten haben möchte)

Ts transpiling absolute path statements in your npm package


Die Sache ist, dass die Flagge nicht da war und wir einen TS-Fehler bekamen:

Ts transpiling absolute path statements in your npm package

Und es war ein fairer Fehler: Die verteilte Datei aus unserer Bibliothek versuchte, etwas aus einem absoluten Pfad zu importieren

import { Foo } from 'absolutePath';

Diese Zeile macht in der Bibliothek selbst Sinn, aber nicht in node_modules/bla/bla/bla

Ts ist richtig: Ist dieser absolute Weg hier bei uns?

Ts transpiling absolute path statements in your npm package

Beim Durchstöbern des Ordners „dist/“ habe ich überprüft, ob einige resultierende Komponentendateien mithilfe relativer Pfade korrekt transpiliert wurden:

Ts transpiling absolute path statements in your npm package


PANIKMOMENT: Warum einige transpilierte .d.ts-Dateien absolute Pfade verwenden, während andere relative Pfade verwenden ????


Mehrere Stack Overflow-Beiträge und -Probleme, Threads und Diskussionen auf GitHub später (ich werde überspringen, was nicht funktioniert hat)

Ich habe diese Vite-Warnung während der Bauzeit bemerkt:

Export of «module» was reexported through «file» 
while both modules are dependencies of each other 
and will end up in different chunks by Rollup.

Ts transpiling absolute path statements in your npm package

also... Zirkuläre Abhängigkeiten ist es.


Ich habe die zirkulären Abhängigkeiten in unseren Importanweisungen gelöst und jetzt ist alles in Ordnung.

TL;DR

Wenn Sie Probleme mit Ts haben? Transpilieren absoluter Pfadanweisungen anstelle relativer Pfade in Ihrer Bibliothek,
Wenn dies zu einem Ts-Fehler in der Client-App führt, könnte dies an einer zirkulären Abhängigkeit in Ihrem Quellcode liegen.

--
Danke fürs Lesen

Mein ursprünglicher Thread bei X

Das obige ist der detaillierte Inhalt vonTs transpiliert absolute Pfadanweisungen in Ihrem npm-Paket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Tag Einführung in ReactJSNächster Artikel:Tag Einführung in ReactJS