Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 September 21

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
это костыль для бабеля и если ты найдёшь релиз в котором ввели import type а это было не так давно, то там так и написано это костыль для бабеля
источник

ДБ

Дмитрий Беляев... in Svelte [svelt] - All about Svelte JavaScript framework.
у тайпскрипта нет ничего для понимания есть ли сайдэффекты
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
вы не понимаете тайпскрипт мне жаль
источник

ДБ

Дмитрий Беляев... in Svelte [svelt] - All about Svelte JavaScript framework.
источник

ДБ

Дмитрий Беляев... in Svelte [svelt] - All about Svelte JavaScript framework.
не буду спорить с гуру тс...
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
у тайпскрипта есть знание как используется импортированная сущность. если импортированная сущность используется как тип то её импорт вырежется
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
то что ты её явно помечаешь как импорт типа, ну ты просто придумал себе дополнительную работу
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
она нужна только в 1 конкретном случае и только для транспиляции без тайпчека и этот случай когда делается реэкспорт из файла, и тогда бабелю становится непонятно можно ли удалить импорт, потому что непонятно будет ли он использован в рантайме или только как тип
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
но если тебе в кайф писать import type повсеместно делая бесполезную работу то флаг тебе в руки)
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
тайпскрипт а именно tsc справится и с реэкспортом потому что он знает обо всех файлах и способен проследить использование и кросфайлово
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
ты же вкурсе что при сборке твоего свелт проекта никакой тайпчек не делается?
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
он делается только если ты вызовешь svelte-check явно
источник

ДБ

Дмитрий Беляев... in Svelte [svelt] - All about Svelte JavaScript framework.
есть большая разница

import {SomeType} from './someFile';
транспилится в
import {} from './someFile';

когда
import type {SomeType} from './someFile';
транспилится в ничего

в первом случае someFile попадет в бандл и будет выполнен
во втором нет
и import type именно для этого, а не что Вы там себе напридумывали
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
это не правда
источник

ДБ

Дмитрий Беляев... in Svelte [svelt] - All about Svelte JavaScript framework.
проверить не сложно
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
это просто не правда)
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
проверяй
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
здесь ключевое слово Транспиляция и проблема в том что тайпскрипт это компилятор) и даже в режиме транспиляции явный импорт тайп нужен крайне редко
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html релиз с import type . люди как-то жили так долго без такой фичи, не кажется странным?
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
The compiler detects whether each module is used in the emitted JavaScript. If a module identifier is only ever used as part of a type annotations and never as an expression, then no require call is emitted for that module. This elision of unused references is a good performance optimization, and also allows for optional loading of those modules.

а вот выдержка из доки тса
источник