Rumah  >  Artikel  >  hujung hadapan web  >  Ts mengalihkan penyataan laluan mutlak dalam pakej npm anda

Ts mengalihkan penyataan laluan mutlak dalam pakej npm anda

WBOY
WBOYasal
2024-08-29 12:41:52813semak imbas

Hari ini saya menghadapi situasi TypeScript yang rumit yang berkaitan dengan perpustakaan, fail .d.ts dan laluan relatif.


Kami menerbitkan perpustakaan Komponen React (termasuk jenis) kepada npm.

Projek hadapan kami menyertakan perpustakaan ini sebagai mana-mana pakej npm yang lain.

Biasanya projek bahagian hadapan kami mempunyai dalam tsconfig.json mereka pilihan "skipLibCheck: true"

Ts transpiling absolute path statements in your npm package

Salah satu apl kami tidak mempunyai bendera ini (secara lalai bendera ini dilumpuhkan dan sejujurnya saya tidak faham siapa yang mahu kelakuan ini)

Ts transpiling absolute path statements in your npm package


Perkaranya, bendera tidak ada di sana dan kami mendapat ralat-ts:

Ts transpiling absolute path statements in your npm package

Dan ini adalah ralat yang adil: fail yang diedarkan daripada perpustakaan kami cuba mengimport sesuatu daripada laluan mutlak

import { Foo } from 'absolutePath';

baris ini masuk akal dalam perpustakaan itu sendiri tetapi tidak dalam node_modules/bla/bla/bla

Ts betul: adakah absolutePath ini ada bersama kami?

Ts transpiling absolute path statements in your npm package

Menggali dalam folder dist/ saya menyemak bahawa beberapa fail komponen yang terhasil ditranspilkan dengan betul menggunakan laluan relatif:

Ts transpiling absolute path statements in your npm package


SAAT PANIK: Mengapakah sesetengah fail .d.ts yang ditranspilkan menggunakan laluan mutlak manakala yang lain menggunakan laluan relatif ????


Beberapa siaran Stack Overflow dan isu, utas dan perbincangan di GitHub kemudian (saya akan melangkau perkara yang tidak berjaya)

Saya perasan amaran jemputan ini dalam masa binaan:

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

jadi... Kebergantungan Pekeliling memang begitu.


Saya menyelesaikan kebergantungan bulat dalam penyata import kami dan semuanya baik-baik saja sekarang.

TL;DR

Jika anda menghadapi masalah dengan Ts ? mengalihkan penyataan laluan mutlak dan bukannya laluan relatif dalam pustaka anda,
yang mengakibatkan ralat Ts dalam apl pelanggan, ia mungkin disebabkan oleh pergantungan bulat dalam kod sumber anda.

--
terima kasih kerana membaca

Benang Asal Saya di X

Atas ialah kandungan terperinci Ts mengalihkan penyataan laluan mutlak dalam pakej npm anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Pengenalan Hari kepada ReactJSArtikel seterusnya:Pengenalan Hari kepada ReactJS