バグを説明する
未使用のプロパティのexport let
ステートメントは警告を引き起こします。 警告は、私にとって実際のプロパティの上の行に表示されます。
再現するには
スクリプト言語をtypescript( lang="ts"
またはtype="text/typescript"
)に設定します。
一部のエクスポートプロパティを宣言し、どこにも使用しないでください。
予想される行動
警告は、使用されていないプロパティにあります。
スクリーンショット
プロパティがスクリプトの最初の行にある場合:
システム(以下の情報を入力してください):
@ tsconfig / svelteを最新のものに更新してみてください
私はそれを使用していません。
一時的に追加しましたが、何もしませんでした。
ああ、あなたは公式テンプレートを使っていると思いました。 パッケージはsvelteの基本設定です。 これに一致するように、 tsconfig.json
のextends
を更新できます。
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87
#333の複製
@ jasonlyu123私が言ったように、私は一時的に基本設定を追加しましたが、何も変更されていません。 それでも間違った行にエラーが表示されます。
次に、 tsc
を実行して、ワークスペースでtsファイルをコンパイルし、出力ファイルにソースマップがあるかどうかを確認できますか?
問題はソースマップにあります。 svelteコンパイラを使用してsvelte診断を取得します。 svelte.config.jsがあり、その中にプリプロセッサを指定している場合は、それを使用して前処理を行います。それ以外の場合は、公式のsvelte-preprocessを使用します。 また、プリプロセッサがソースマップを返さない場合、警告は間違った位置にあります。
また、tsconfig.jsonの変更は監視されないため、変更があった場合は必ず言語サーバーを再起動してください。
常にソースマップを生成するとは限りません。 単一のファイルでtsc
を呼び出すと、明らかにtsconfigがロードされません。 tsc -p .
またはtsc --build tsconfig.json
すると、期待どおりにソースマップが出力されます。
svelte.config.js
お持ちの場合、それを確認できますか?また、どのプリプロセッサを使用していますか?
私はデフォルトのプロセッサを使用しています。これは自動モードではsvelte-preprocess
である必要があります。 入力コンポーネントにエラーがある最小限のサンプルリポジトリを作成しました。
svelte.config.js
を作成してみましたが、プリプロセッサを明示的に自動モードに設定しても問題ありませんでした。 tsconfig.json
へのパスを持つtypescript
のみを明示的に使用しても、何も実行されませんtsconfig.json
た。
うーん...これは予想外です。 tsconfig.json
sourcemap
をtrueに設定した場合にのみ機能します。
その場合、 extends
は完全には機能しません。 さて、今のところ明示的に設定してもかまいません。
ありがとう
ええ、私はsvelte-preprocessのソースファイルをざっと見ています。 extends
解析していないようです。
問題をありがとう!
@brunnerh
"sourceMaps": true
と基本構成参照をtsconfig.json
から削除し、代わりにsvelte.config.js
でsveltePreprocess({sourceMap: true})
を実行すると、正しい警告が表示されますか?それならライン?
いいえ、まだオフです。
したがって、 tsconfig.json
"sourceMaps": true
を追加した場合にのみ機能しますか?
はい
これらはsvelte-preprocess
関連する問題であるため、終了します。 「sourceMap-optionを介して前処理を指示すると、ソースマップが適用されません」-問題は最新バージョンで修正されています。 「 extends
- tsconfig.json
はサポートされていません」はhttps://github.com/sveltejs/svelte-preprocess/issues/300で追跡されてい