169 похожих чатов

Простите за оффтоп, но если я проект прогоняю через TS,

и в конфиге указываю версию ES5 например, то всякие баблы, полифилы не нужны?

2 ответов

9 просмотров

Babel не особо нужен, если не накидываете никаких кастомных плагинов. Весь код будет сконверчен в нужную версию (например, можете async функции использовать, оно само под капотом переведёт в генераторы). Полифиллы нужны, они к TS никакого отношения не имеют, вроде б.

ТС создает только хэлпер функции для транспиляции, типа функции которая делает спред. Есть опция importHelpers которая позволяет импортировать хелперы из отдельного модуля tslib, тогда размер бандла значительно уменьшится. Иначе в каждом файле будет шапка из хелпер функций и одна и та же функция может повторятся по тысяче раз в одном бандле =) Полифилы типа реализация Map, Set, Array.prototype подключаются явно отдельно от ТСа. В конфиге ТСа есть опция "lib" в которую можно написать какие тайпинги для полифилов добавить, но сами полифилы не добавляются. Бабель не нужен, если используется ТС и не используется какая-нибудь экзотика существующая в виде редкого плагина к бабелю. В ЕС5 ТС скомпилирует сам. В ТСе можно отдельно поставить опцию module в значение esnext (а таргет es5), тогда ТС не будет транспилировать импорты\экспорты в require и оставит их на откуп вэбпаку или роллапу, чтобы тот мог сделать тришейкинг.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта