Поигрался с Символами из ES7, офигенная тема, теперь мы можем срать в Object.prototype и не боятся наступить на мину :)
Object.prototype[Symbol.referenceLength] = function () { return Object.keys(this).length; }; var foo = {a: 1, b: 2}; foo::length() // 2 Вообще ES7 делает качественный скачок в развитии языка, что не может не радовать. |
Цитата:
Цитата:
|
Копался на wiki GCC и обнаружил 2 вещи:
1) Теперь GCC частично понимает ES6 и даже умеет работать как транслятор: https://github.com/google/closure-co...ki/ECMAScript6 2) Аннотацию @expose решили выпилить (из доки её уже потёрли) и заменить на @exports: https://github.com/google/closure-compiler/issues/636. Беда в том, что @exports сейчас адово глючит и последняя стабильная сборка не поддерживает часть новых опций этой аннотации, т.е. они поспешили удалить @expose, но не доделали @exports, печалька. |
https://github.com/6to5/6to5/pull/29...mment-66951875
Скорость автора всех шокирует :D |
Наш немецкий коллега снова радует наиподробнейшими статьями http://www.2ality.com/2014/12/es6-symbols.html
|
И ещё одна годнота http://www.2ality.com/2015/01/es6-maps-sets.html
На этот раз про Maps и Sets. |
Тут такое дело.. короче, я не осилил модули с использованием 6to5.
Как быть? Тестирую на клиенте вот это: index.js import aaa from 'c_module'; aaa(); c_module.js function aaa() { console.log('text'); } exports default aaa; Компилируется без ошибок, но в браузере выдаёт это: Цитата:
Будьте добры, подскажите кто пользуется. |
Цитата:
Но лично я компилирую в AMD с использованием RequireJS - это асинхронная загрузка, что плюс к скорости. Выглядит так: //gulptask.js gulp.task("build", function() { gulp.src(`./src/${page}/*.js`) .pipe(sourcemaps.init()) .pipe(es6to5({ modules: "amd", moduleIds: true })) .pipe(concat("index.js")) .pipe(gulpif(production, uglify())) .pipe(sourcemaps.wirte("./")) .pipe(gulp.dest(`./build/${page}`)); }) <!-- index.html --> <script data-main="./build/index/index" src="./lib/require.js"></script> <script> requirejs.config({ enforceDefine: true, paths: { //Пути к сторонним библиотекам jquery: [ "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min", //CDN "./lib/jquery.js" //Фоллбек ] } }) </script> |
Erolast,
спасибо, сегодня как-нибудь попробую. |
Я-то надеялся что оно само всё за меня подключит
![]() |
Часовой пояс GMT +3, время: 09:25. |