|
Безболезненный переход с обычного AMD на Babel + AMD?
Решил перевести большой проект на ES6, используя babel + AMD для модулей. Проект состоит из сотен файлов, которые затем собираются с помощью r.js и других инструментов в один цельный HTML. Поэтому я решил делать переход постепенно.
Проблема в том, что Бабел полностью ломает текущий код, заставляя менять всё сразу. 1. Добавляет вызов define. Такой код: define(["x", "y"], function() { ... }); Превращается в такой: define(["exports"], function (exports) { define(["x", "y"], function() { ... }); }); Кто знаком с AMD знает, что этот код не работает. 2. Скрипты сейчас запрашивают HTML темплейты с помощью requirejs плагина text. Как избежать лапши в коде и, в то же время, позволить r.js собирать проект (т. е. инлайнить HTML в JS для продакшна)? |
Цитата:
Отчасти твой вопрос уже обсуждался здесь. В данный момент я остановился на webpack. Кстати, сегодня залил пример использования babel+webpack на гитхаб. |
Чуть больше месяца юзаю es6 - полет не просто нормальный, офигенный! :)
Как сказал kobezzza: "es5 забыть как страшный сон"))) |
Пока что я решил просто копировать .js файлы, a ES6 хранить в .es файлах. Вопрос актуален только для запроса HTML (и других не-js файлов). Если менять систему сборки, прийдется перелопатить весь проект.
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
FinoM, не пробовал собирать проект через webpack? |
Решил перейти с 6to5 на babel и проект пересал собираться. :(
Настроил как тут сказано https://babeljs.io/docs/using-babel/#webpack и все равно выпадает. Кто-то сталкивался с подобным? Они там что-то поменяли, после появления вот этого obj && obj.__esModule: return obj ? obj["default"] : obj; |
Цитата:
нужно делать импорт и экспорт в одном стиле - т.е. либо ES6, либо CJS |
Заинлайнил html :)
melky, слушай, у меня вопрос. Можно ли сделать так, чтобы во время сборки вместо текстовой переменной подставлялось читалось и подставлялось имя текущего файла (без расширения)? Сейчас приходится руками писать, не очень удобно https://yadi.sk/i/NMa01ZeteqKf8 Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 19:44. |
|