2015-05-10 7 views
0

Я искал googled, чтобы найти любой существующий трансилер ES-6 для ES-5. Там я нашел traceur-compiler. Я просто попробовал это, вставив на страницу и нашел, что она работает нормально.Как работает трассировщик-компилятор для преобразования ES-рядом с ES-present

Тогда мне было любопытно понять, как работают traceur-compiler под капотом. Затем я начал понимать исходный код библиотеки, который занимал у меня довольно много времени, чтобы понять внутреннюю реализацию библиотеки.

Я считаю, что для понимания работы traceur-compiler, если я получу какой-то инструмент или какой-то механизм, который показывает эквивалентный выход ES-5 для некоторого образца ввода сценария ES-6. Мне было бы намного легче понять работу.

Для примера скажем, Ниже приведен пример ES-6 код

 class Greeter { 
     constructor(message) { 
      this.message = message; 
     } 
     greet() { 
      console.info(this.message); // 'Hello, world!' 
     } 
     }; 
     var greeter = new Greeter('Hello, world!'); 
     greeter.greet(); 

Я хотел бы знать, ES-5 эквивалент кода выше.

Любая идея, если есть режим отладки traceur-компилятора или какой-либо другой инструмент, облегчающий мне то же самое.

+0

Мне непонятно, что вы хотите знать/проблема. Не могли бы вы рассказать о своем вопросе, пожалуйста? –

+0

@FelixKling Пожалуйста, проверьте вопрос еще раз. Я обновил его. Пожалуйста, дайте мне знать, можете ли вы это понять сейчас. – dopeddude

+0

Итак, по сути, вы просите нас передать вам ресурс вне сайта, который может объяснить вам, как работает traceur? – Claies

ответ

1

Просто вызовите компилятор в командной строке. Here are instructions:

$ ./traceur --out out/greeter.js --script greeter.js 
+0

есть ли какая-либо установка для 'traceur', которая заставляет выполнить приведенную выше команду. В настоящее время он не распознается как внутренняя или внешняя программа. – dopeddude

+0

https://github.com/google/traceur-compiler/wiki/Getting-Started – Thomas

1

Вы также можете использовать их онлайн транскодирования демо, чтобы получить быстрый, что получает генерируется ES5. Я сделал простой класс и получил увидеть сгенерированные JS здесь:

http://google.github.io/traceur-compiler/demo/repl.html#class%20Foo%20%7B%0A%20%20constructor()%20%7B%0A%20%20%20%20this.bar%20%3D%20%22yay%22%3B%0A%20%20%7D%0A%7D%0A%0A%0A%20%20

(Попробуйте http://google.github.io/traceur-compiler/demo/repl.html если выше ссылка перестает работать).

+0

nice ... должно быть хорошо проверить сгенерированный эквивалент в ES5. Благодаря :-) – dopeddude

 Смежные вопросы

  • Нет связанных вопросов^_^