wallride
@wallride
Виртуализирую вселенную.

Как настроить адекватный транспайлинг в ES6 (для Node.js) из TypeScript?

Всем привет! У меня тут печалька - полтора дня вожусь с настройкой транспайлинга из typescript в JS(ES6) для Node.js 0.12 (с 4 версией оракловый драйвер пока не работает)
Ноду запускаю с флагом --harmony, что даёт мне частичную поддержку es6, в частности генераторы нужны.
Однако, такие штуки как "import .. from .. / export" нода ещё пока не умеет, считает это за нецензурную брань. А именно в таком виде из TS выдавливается импорт-экспорт модулей в JS! И никак я на это не могу повлиять.
В 4.2.1 версии ноды, кстати, такая же проблема.

Что касается TypeScript, то я его пробовал настроить по-разному. Само собой, --target ES6, флаг --module недопустим в режиме "ES6", а moduleResolution пробовал и "classic", и "node". Последний параметр не очень понимаю, для чего, но попробовал на всякий случай.

И вот как так выходит, что TypeScript транспайлит в нодовский JS то, что нода не умеет интерпретировать? И вообще возможно ли сделать так, чтобы я мог пользоваться полноценным синтаксисом и возможностями TS, получая при этом валидный js-код, который подходит для ноды?
  • Вопрос задан
  • 1225 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Ну как бы в режиме ES6 остальные модули не нужны, поэтому --module не работает, что логично. Считать, что для 0.12 годится ES6-код -- просто глупо (там этой поддержки с гулькин хрен), в свое время появился io.js именно по этой причине.

Компильте в ES5. 0.12 не поддерживает ES6, точка. Или используйте ts-node.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы