Lihatlah komponen Test
di REPL berikut:
https://svelte.dev/repl/4859affa8c1c436783a9d9a6d537c903?version=3
Sebuah toko dibuat dalam tag skrip context="module"
, dan sedang digunakan dengan tanda dolar $
depannya, di markup. Ini bekerja seperti yang diharapkan. Namun, kode yang sama di VS Code menunjukkan kesalahan:
Perhatikan bahwa ini berfungsi dan dikompilasi dengan benar, dengan kata lain, kompilator tidak memberikan kesalahan; jadi pasti ekstensi Svelte VS Code itulah masalahnya, pada dasarnya ia tidak mengenali dengan benar toko apa pun yang telah ditentukan dalam skrip context="module"
, dan akibatnya menyebabkan garis merah berlekuk-lekuk muncul di bawah $count
sini.
Selain itu, hanya jika atribut lang="ts"
ada pada tag <script>
barulah tanda merah berlekuk-lekuk muncul.
Saya akan sangat menghargai jika ini dapat segera diperbaiki.
Error: Cannot find name '$username'. Did you mean 'username'? (ts)
saat username
dibuat di context="module"
.> svelte-check --ignore src/node_modules/<strong i="15">@sapper</strong>
/src/routes/my/test.svelte:2:2
Hint: '$username' is declared but its value is never read. (ts)
<script lang="ts">
import { username } from './_store';
Kode:
Versi: kapan:
"svelte": "^3.35.0",
"svelte-check": "^1.2.0",
"typescript": "^4.2.2"
@fivemru Apakah tangkapan layar sudah benar? Karena sepertinya Anda tidak mendefinisikan username
dalam tag skrip context="module"
tetapi dalam file terpisah.
@fivemru Apakah tangkapan layar sudah benar? Karena sepertinya Anda tidak mendefinisikan
username
dalam tag skripcontext="module"
tetapi dalam file terpisah.
Tangkapan layar untuk kasus kedua. Menambahkan satu lagi untuk yang pertama.
Dalam kasus ke-2, kesalahan tidak muncul di vscode, tetapi ada saat menjalankan svelte-check
@ iyaaaaahhh . Mengerti.
Kesalahan kedua tidak terkait. Orang dapat berargumen bahwa itu benar karena Anda hanya menulis ke toko dan tidak pernah membacanya. Dengan melakukan $username = ..
Anda memberi tahu Svelte untuk berlangganan ke toko itu tetapi Anda tidak pernah menggunakannya. Dalam hal ini username.set(..)
adalah opsi yang lebih baik. Tetap saja saya mengerti bahwa ini membingungkan sehingga kami dapat mempertimbangkan untuk menghapus petunjuk itu.
Menggunakan sintaks langganan otomatis untuk penyimpanan yang ditentukan dalam skrip konteks = "modul" seharusnya tidak lagi menghasilkan kesalahan pada ekstensi VS Code 104.6.0 / svelte-check
1.2.1
Komentar yang paling membantu
Menggunakan sintaks langganan otomatis untuk penyimpanan yang ditentukan dalam skrip konteks = "modul" seharusnya tidak lagi menghasilkan kesalahan pada ekstensi VS Code 104.6.0 /
svelte-check
1.2.1