Итак, снова хорошие новости: https://chromium.googlesource.com/v8...767db00c5b9791
И в догонку свежая статья на английском про модули http://24ways.org/2014/javascript-modules-the-es6-way/ |
Цитата:
Правд 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,
попробуй 6to5. Он полон плюх из ES6, в т.ч. модули. Сам я его долго не мог использовать, потому, что авторы забыли залить его ;( Теперь с Трансплитера перешёл на 6to5 и код даже не пришлось менять, в отличие от перехода с Трэйсера на Трансплитер. |
Цитата:
|
kobezzza,
не, ну ты же просто попробуешь, а не в продакшн зальёшь) К тому же ты можешь пробежаться тестами, это должно гарантировать хоть какую-то надёжность, не? //сам пока модули в 6то5 не тестил Там, кстати, и async есть) |
Цитата:
Цитата:
Цитата:
|
kobezzza,
Цитата:
------------------------------------------------------------------- Кстати, кто как оформляет свой es6[7]-код? Ведь в язык добавились новые синтаксические конструкции. Мб где-то уже есть годные стайл-гайды? |
Цитата:
Цитата:
|
kobezzza,
Цитата:
Цитата:
Может быть много вариантов: let f = ()=>{}; let f = ()=> {}; let f = () =>{}; let f = () => {}; someF((a) => {}); someF(a => {}); |
Цитата:
|
Часовой пояс GMT +3, время: 11:37. |