Опишите ошибку
Операторы export let
неиспользуемого свойства вызывают предупреждение. Предупреждение отображается в строке над фактическим имуществом для меня.
Воспроизводить
Установите язык сценария на машинописный текст ( lang="ts"
или type="text/typescript"
).
Объявите какое-то свойство экспорта, нигде не используйте.
Ожидаемое поведение
Предупреждение касается неиспользуемого свойства.
Скриншоты
Если свойство находится в первой строке скрипта:
Система (пожалуйста, заполните следующую информацию):
Попробуйте обновить @ tsconfig / svelte до последнего
Я этим не пользуюсь.
Временно добавил, ничего не сделал.
О, я думал, вы используете официальный шаблон. Пакет представляет собой базовую конфигурацию для svelte. Вы можете обновить extends
своего tsconfig.json
чтобы оно соответствовало этому.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87
Дубликат № 333
@ jasonlyu123 Как я уже сказал, я временно добавил базовую конфигурацию, но ничего не изменилось. Я по-прежнему получаю ошибки не в той строке.
Затем вы можете попробовать запустить tsc
чтобы скомпилировать ts-файл в своей рабочей области и посмотреть, есть ли в выходном файле исходная карта?
Проблема с исходной картой. Мы используем компактный компилятор, чтобы получить простую диагностику. если у вас есть svelte.config.js и вы укажете в нем свой препроцессор, мы будем использовать его для предварительной обработки, в остальном мы будем использовать официальный svelte-preprocess. И если препроцессор не вернет исходную карту, предупреждение будет в неправильной позиции.
Кроме того, мы не отслеживаем изменения в tsconfig.json, поэтому не забудьте перезапустить языковой сервер после любых изменений.
Он не всегда генерирует исходные карты. Если я вызываю tsc
для одного файла, он, по-видимому, не загружает tsconfig; если я использую tsc -p .
или tsc --build tsconfig.json
он выведет исходную карту, как и ожидалось.
Могу я взглянуть на ваш svelte.config.js
если он у вас есть, а также на какой препроцессор вы используете?
Я использую процессор по умолчанию, который в автоматическом режиме должен быть svelte-preprocess
. Я сделал минимальный репозиторий примеров, в котором есть ошибки во входном компоненте.
Я пробовал создать svelte.config.js
, явно установив препроцессор в автоматический режим, не имело значения. Явное использование только typescript
one с путем к tsconfig.json
тоже ничего не дало.
Эммм ... это неожиданно, это сработает только тогда, когда я также установлю 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 .