Зачем мне Babel JS?

Я изо всех сил пытаюсь понять важность Вавилона здесь... Итак, ES6 приходит и дает нам жирные функции стрелок, более короткий синтаксис и т.д., Поэтому зачем нам собирать ES6 в традиционную JS? Это потому, что есть старые браузеры, которые не могут интерпретировать новый синтаксис JS? Или это как-то связано с сохранением исходного кода? Немного о нобе, вопрос, который я знаю, но эй, я ноб! Любое понимание оценили!

Ответ 1

Хотя ответы здесь все правильные, Babel - это не только ES6 (ES2015). Комитет по стандартам ECMA согласился выпустить ежегодные обновления языка JavaScript. Бабель всегда будет интегрировать стандарты, тогда как мы не знаем, будут ли все браузеры, и если да, смогут ли они идти в ногу с меняющимися стандартами.

С транспилером, таким как Babel, мы можем оставаться впереди веб-браузеров и использовать новые функции ECMAscript, когда они выпущены, вместо того, чтобы ждать, когда производители браузеров будут интегрировать функции, использовать полисы или что-то еще. Он также позволяет конечному пользователю настраивать функции, которые они хотят использовать, и создавать собственную версию языка.

Чтобы услышать, как создатель Вавилонской беседы об этом, вы можете послушать этот эпизод Jabber в JavaScript.

Ответ 3

Большинство современных браузеров сегодня имеют почти полную поддержку es6. От 96% до 99% поддержки.

https://kangax.github.io/compat-table/es6/

Главным недостатком являются модули ES6. В настоящее время только Safari поддерживает модули ES6. Поддержка модулей ES6 должна появиться в Google Chrome 60.

Чтобы получить код ES6 для запуска, вам необходимо объединить модули кода ES6 в один файл JavaScript, используя наборщик, такой как Browserify или Webpack. Мне повезло с использованием Webpack 3.0 для комплектации.

Babel несет ответственность за преобразование новых языковых функций в старые.

Вы можете написать код, который будет работать во многих браузерах, используя только связной, но без использования Babel. Вы код становится более запутанным, перетаскивая его с помощью Babel, поэтому вам нужно сделать это только в случае необходимости.

Ответ 4

Вы поняли это правильно. Есть много браузеров, которые не поддерживают/частично поддерживают es6, поэтому вам все равно нужно интерпретировать традиционные js на ближайшие годы. Особенно, когда клиенты жалуются, что ваш сайт не работает в браузере IE6

Ответ 5

Я могу опоздать с ответом на этот вопрос, но главная причина для меня заключается в том, что даже Node версии 12 не поддерживает модульную систему ES6 (ключевые слова импорта и экспорта).

Babel передает синтаксис ES6 в CommonJS, что избавляет от многих головных болей

Ответ 6

Нет оснований использовать Бабеля в моем опыте. Машинопись превосходна во всех отношениях.