04.12.2014, 18:38
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
|
|
04.12.2014, 18:45
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Я уже перешёл на них
Правд es6-module-transpiler оказался глюченым говном, поэтому сделал на основе своего Monic.
.pipe(monic({
replacers: [
// Поддержка ES6 modules
function (text) {
text = text
.replace(/export\s+(?:var|const|let)\s+([^\s=]+)\s*=/g, 'this.$1 =')
.replace(/exports\s*\./g, 'this.')
.replace(/export\s+(function\s+([^(]+))/g, 'this.$2 = $1')
.replace(/export {([^}]+)};?/g, function (sstr, $1) {
return $1.split(',').reduce(function (res, el) {
el = el.split(/\s+as\s+/);
el[0] = el[0].trim();
res += 'this.' + (el[1] || el[0]) + ' = ' + el[0] + ';\n';
return res;
}, '');
});
text =
'(function () {\n' +
text +
'\n}).call(this);';
return text.replace(
/^\s*import\s+(.*?)\s+from\s+('|")(.*?)\2;?/gm,
function (sstr, nm, q, url) {
nm = nm.replace(/{|}/g, '');
nm = nm.split(',').reduce(function (res, el, i) {
el = el.trim();
if (i !== 0) {
res += ',\n';
}
res += el + ' = this.' + el;
return res;
}, 'var ') + ';';
return '' +
'//#include ' + url + '\n\n' +
nm;
}
);
}
]
}))
Хардкод, но работает нормально
Последний раз редактировалось kobezzza, 04.12.2014 в 18:47.
|
|
04.12.2014, 18:50
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
попробуй 6to5. Он полон плюх из ES6, в т.ч. модули. Сам я его долго не мог использовать, потому, что авторы забыли залить его ;(
Теперь с Трансплитера перешёл на 6to5 и код даже не пришлось менять, в отличие от перехода с Трэйсера на Трансплитер.
|
|
04.12.2014, 18:52
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от Safort
|
kobezzza,
попробуй 6to5. Он полон плюх из ES6, в т.ч. модули. Сам я его долго не мог использовать, потому, что авторы забыли залить его ;(
Теперь с Трансплитера перешёл на 6to5 и код даже не пришлось менять, в отличие от перехода с Трэйсера на Трансплитер.
|
Хм... надо затестить Хотя немного стрёмно: всё таки у мя ща дето 200к строк кода сумарно на транспилере висит)
|
|
04.12.2014, 19:14
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
не, ну ты же просто попробуешь, а не в продакшн зальёшь)
К тому же ты можешь пробежаться тестами, это должно гарантировать хоть какую-то надёжность, не?
//сам пока модули в 6то5 не тестил
Там, кстати, и async есть)
|
|
04.12.2014, 19:20
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
не, ну ты же просто попробуешь, а не в продакшн зальёшь)
|
Так не интересно
Цитата:
|
К тому же ты можешь пробежаться тестами, это должно гарантировать хоть какую-то надёжность, не?
|
Естественно
Цитата:
|
Там, кстати, и async есть)
|
Угу, но ещё бы в WS поддержка
|
|
04.12.2014, 20:46
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
Цитата:
|
Угу, но ещё бы в WS поддержка
|
Но ты ведь можешь отправить им предложение в фичетрекер)
-------------------------------------------------------------------
Кстати, кто как оформляет свой es6[7]-код? Ведь в язык добавились новые синтаксические конструкции. Мб где-то уже есть годные стайл-гайды?
|
|
04.12.2014, 20:49
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Но ты ведь можешь отправить им предложение в фичетрекер)
|
Разумеется, я делаю это регулярно, что мне даже лицензию подарили на WS
Цитата:
|
Кстати, кто как оформляет свой es6[7]-код? Ведь в язык добавились новые синтаксические конструкции. Мб где-то уже есть годные стайл-гайды?
|
Также как и раньше
|
|
04.12.2014, 21:03
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
Цитата:
|
Разумеется, я делаю это регулярно, что мне даже лицензию подарили на WS
|
Так ты на WS сидишь потому, что он у тебя халявный?) Это они правильно сделали)
Цитата:
|
Также как и раньше
|
Это как? Интересует именно новые ES6+ конструкции.
Может быть много вариантов:
let f = ()=>{};
let f = ()=> {};
let f = () =>{};
let f = () => {};
someF((a) => {});
someF(a => {});
|
|
04.12.2014, 21:25
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
let f = () => {};
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Как сделать HTML фичи? |
2chan |
Events/DOM/Window |
6 |
26.09.2014 18:50 |
|
|
|