Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 04.12.2014, 18:38
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Итак, снова хорошие новости: https://chromium.googlesource.com/v8...767db00c5b9791

И в догонку свежая статья на английском про модули http://24ways.org/2014/javascript-modules-the-es6-way/
Ответить с цитированием
  #52 (permalink)  
Старый 04.12.2014, 18:45
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
И в догонку свежая статья на английском про модули 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
code monkey

Последний раз редактировалось kobezzza, 04.12.2014 в 18:47.
Ответить с цитированием
  #53 (permalink)  
Старый 04.12.2014, 18:50
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
попробуй 6to5. Он полон плюх из ES6, в т.ч. модули. Сам я его долго не мог использовать, потому, что авторы забыли залить его ;(
Теперь с Трансплитера перешёл на 6to5 и код даже не пришлось менять, в отличие от перехода с Трэйсера на Трансплитер.
Ответить с цитированием
  #54 (permalink)  
Старый 04.12.2014, 18:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Safort Посмотреть сообщение
kobezzza,
попробуй 6to5. Он полон плюх из ES6, в т.ч. модули. Сам я его долго не мог использовать, потому, что авторы забыли залить его ;(
Теперь с Трансплитера перешёл на 6to5 и код даже не пришлось менять, в отличие от перехода с Трэйсера на Трансплитер.
Хм... надо затестить Хотя немного стрёмно: всё таки у мя ща дето 200к строк кода сумарно на транспилере висит)
__________________
kobezzza
code monkey
Ответить с цитированием
  #55 (permalink)  
Старый 04.12.2014, 19:14
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
не, ну ты же просто попробуешь, а не в продакшн зальёшь)
К тому же ты можешь пробежаться тестами, это должно гарантировать хоть какую-то надёжность, не?
//сам пока модули в 6то5 не тестил

Там, кстати, и async есть)
Ответить с цитированием
  #56 (permalink)  
Старый 04.12.2014, 19:20
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
не, ну ты же просто попробуешь, а не в продакшн зальёшь)
Так не интересно

Цитата:
К тому же ты можешь пробежаться тестами, это должно гарантировать хоть какую-то надёжность, не?
Естественно

Цитата:
Там, кстати, и async есть)
Угу, но ещё бы в WS поддержка
__________________
kobezzza
code monkey
Ответить с цитированием
  #57 (permalink)  
Старый 04.12.2014, 20:46
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
Угу, но ещё бы в WS поддержка
Но ты ведь можешь отправить им предложение в фичетрекер)

-------------------------------------------------------------------

Кстати, кто как оформляет свой es6[7]-код? Ведь в язык добавились новые синтаксические конструкции. Мб где-то уже есть годные стайл-гайды?
Ответить с цитированием
  #58 (permalink)  
Старый 04.12.2014, 20:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Но ты ведь можешь отправить им предложение в фичетрекер)
Разумеется, я делаю это регулярно, что мне даже лицензию подарили на WS

Цитата:
Кстати, кто как оформляет свой es6[7]-код? Ведь в язык добавились новые синтаксические конструкции. Мб где-то уже есть годные стайл-гайды?
Также как и раньше
__________________
kobezzza
code monkey
Ответить с цитированием
  #59 (permalink)  
Старый 04.12.2014, 21:03
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
Разумеется, я делаю это регулярно, что мне даже лицензию подарили на WS
Так ты на WS сидишь потому, что он у тебя халявный?) Это они правильно сделали)




Цитата:
Также как и раньше
Это как? Интересует именно новые ES6+ конструкции.

Может быть много вариантов:

let f = ()=>{};
let f = ()=> {};
let f = () =>{};
let f = () => {};

someF((a) => {});
someF(a => {});
Ответить с цитированием
  #60 (permalink)  
Старый 04.12.2014, 21:25
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
let f = () => {};
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать HTML фичи? 2chan Events/DOM/Window 6 26.09.2014 18:50