Language-tools: يكون تحذير خاصية التصدير غير المستخدمة في السطر الخطأ عند استخدام معالج TypeScript المسبق.

تم إنشاؤها على ٢٧ أغسطس ٢٠٢٠  ·  18تعليقات  ·  مصدر: sveltejs/language-tools

صف الخلل
export let كشوفات حساب

لإعادة إنتاج

اضبط لغة البرنامج النصي على الكتابة المطبوعة ( lang="ts" أو type="text/typescript" ).
قم بالإعلان عن بعض ممتلكات التصدير ، ولا تستخدمها في أي مكان.

سلوك متوقع

التحذير على الممتلكات لا يتم استخدامها.

لقطات

image

إذا كانت الخاصية في السطر الأول من البرنامج النصي:

image

النظام (يرجى استكمال المعلومات التالية):

  • نظام التشغيل: Windows 10 ، 64 بت
  • IDE: VSCode
  • البرنامج المساعد / الحزمة: Svelte for VSCode
bug

ال 18 كومينتر

حاول تحديث @ tsconfig / svelte الخاص بك إلى الأحدث

أنا لا أستخدم ذلك.
إضافته مؤقتًا ، لم تفعل شيئًا.

أوه اعتقدت أنك كنت تستخدم النموذج الرسمي. الحزمة هي تكوين أساسي لـ svelte. يمكنك تحديث extends من tsconfig.json لمطابقة ذلك.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

نسخة مكررة من # 333

@ jasonlyu123 كما قلت ، أضفت التكوين الأساسي مؤقتًا ولكن لم يتغير شيء. ما زلت أحصل على الأخطاء في السطر الخطأ.

ثم يمكنك محاولة تشغيل tsc لتجميع ملف ts في مساحة العمل الخاصة بك ومعرفة ما إذا كان ملف الإخراج يحتوي على خريطة المصدر؟

المشكلة مع خريطة المصادر. نحن نستخدم المترجم svelte للحصول على تشخيص رائع. إذا كان لديك ملف svelte.config.js وقمت بتحديد معالجك المسبق فيه ، فسنستخدمه للمعالجة المسبقة ، بخلاف ذلك سنستخدم العملية الرسمية svelte-preprocess. وإذا لم يُرجع المعالج السابق خريطة مصدر ، فسيكون التحذير في وضع خاطئ.

أيضًا ، نحن لا نراقب التغيير في tsconfig.json لذا تأكد من إعادة تشغيل خادم اللغة بعد أي تغييرات.

لا يقوم دائمًا بإنشاء خرائط المصدر. إذا اتصلت بـ tsc على ملف واحد فمن الواضح أنه لا يتم تحميل tsconfig؛ إذا استخدمت tsc -p . أو tsc --build tsconfig.json فسيتم إخراج خريطة المصدر كما هو متوقع.

هل يمكنني إلقاء نظرة على svelte.config.js بك إذا كان لديك ، وأي معالج سابق تستخدمه أيضًا؟

أستخدم المعالج الافتراضي ، والذي يجب أن يكون svelte-preprocess في الوضع التلقائي. لقد صنعت نموذجًا بسيطًا لمستودع يحتوي على أخطاء في مكون الإدخال.

حاولت إنشاء svelte.config.js ، بشكل صريح ضبط المعالج المسبق في الوضع التلقائي ، لم يكن مهمًا. صراحةً ، استخدام typescript مع مسار إلى tsconfig.json لم يفعل أي شيء أيضًا.

Ummm ... هذا غير متوقع ، لن يعمل إلا عندما أقوم أيضًا بتعيين sourcemap على true في tsconfig.json

ثم لا يعمل extends تمامًا. حسنًا ، لا أمانع في تحديد ذلك صراحة في الوقت الحالي.
شكرا

نعم ، لقد ألقيت نظرة سريعة على الملف المصدر للعملية svelte-preprocess. يبدو أنه لا يقوم بتحليل extends .
شكرا على المشكلة!

لقد فتحت هذه المشكلة عند svelte-preprocess ، لأنه وفقًا للمستندات ، في وضع المعالجة التلقائية ، يجب إنشاء خرائط المصدر. تحديث: كانت المستندات خاطئة ، لذلك تحتاج إلى تعيين ذلك على true بنفسك.

brunnerh إذا قمت بإزالة "sourceMaps": true ومرجع التكوين الأساسي من tsconfig.json وبدلاً من ذلك نفذت sveltePreprocess({sourceMap: true}) في svelte.config.js ، فهل يُظهر التحذيرات على النحو الصحيح الخط بعد ذلك؟

brunnerh إذا قمت بإزالة "sourceMaps": true ومرجع التكوين الأساسي من tsconfig.json وبدلاً من ذلك فعلت sveltePreprocess({sourceMap: true}) في svelte.config.js ، فهل تظهر التحذيرات على النحو الصحيح الخط بعد ذلك؟

لا ، ما زال متوقفًا.

لذا فهي تعمل فقط إذا أضفت "sourceMaps": true إلى tsconfig.json ؟

نعم

الإغلاق لأن هذه مشاكل تتعلق بـ svelte-preprocess . "لا يتم تطبيق خريطة المصدر عندما أخبر العملية التمهيدية من خلال خيار sourceMap الخاص بها" - تم إصلاح المشكلة في الإصدار الأخير. يتم تتبع ميزة " extends -ميزة tsconfig.json غير مدعومة" في https://github.com/sveltejs/svelte-preprocess/issues/300 .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات