Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, Михaил, Вы писали:
М>Привет
М>Такой вопрос:
М>Есть несколько .js файлов от стороннего разработчика, и они имеют строки:
М>import { Container, Draggable } from 'somejsfile'
М>import { applyDrag, generateItems } from 'anotherjsfile'
М>Насколько я понимаю, эти новомодные import-ы не поддерживаются мало мальски старыми браузерами (речь даже не об IE, а, например, последняя Safari ругается в консоли на такие записи).
Да, это появилось в
ECMAScript 2015.
М>как и чем можно переконвертировать такие файлы в "понятные" браузерам скрипты?
Обычно это делают при сборке приложения (e.g. через babel, gulp, grunt, webpack) как отдельный шаг, который конвертит в нужный формат и (опционально) склеивает файлы в один/несколько бандлов.
Также, если не ошибаюсь, Babel можно загрузить как внешнюю библиотеку и получить реалтайм транспайлинг в любом браузере (разумеется, будет медленнее).
Еще можно посмотреть requirejs и подобные загрузчики, возможно кто-то из них умеет транспайлить на лету.
M>Я так понимаю, эти новомодные вещи используются, чтоб хоть как-то решить проблему малоподдерживаемого гв. кода на JS и разбивать его на более-менее поддерживаемые компоненты?
Да, это попытка как-то стандартизировать подход к модульности.
Здравствуйте, Михaил, Вы писали:
М>Привет
М>Такой вопрос:
М>Есть несколько .js файлов от стороннего разработчика, и они имеют строки:
М>import { Container, Draggable } from 'somejsfile'
М>import { applyDrag, generateItems } from 'anotherjsfile'
М>Насколько я понимаю, эти новомодные import-ы не поддерживаются мало мальски старыми браузерами (речь даже не об IE, а, например, последняя Safari ругается в консоли на такие записи).
М>как и чем можно переконвертировать такие файлы в "понятные" браузерам скрипты? Я так понимаю, эти новомодные вещи используются, чтоб хоть как-то решить проблему малоподдерживаемого гв. кода на JS и разбивать его на более-менее поддерживаемые компоненты?
называется это не трансляцией, а транспиляцией. самый известный для JS —
Babel
Здравствуйте, Михaил, Вы писали:
М>как и чем можно переконвертировать такие файлы в "понятные" браузерам скрипты? Я так понимаю, эти новомодные вещи используются, чтоб хоть как-то решить проблему малоподдерживаемого гв. кода на JS и разбивать его на более-менее поддерживаемые компоненты?
Модулям сто лет в обед (см
require)
ЗЫЖ Конвертировать, как уже сказали, надо Babel.