TypeScript для Node.js — как настроить для совместной работы?

Доброго времени. Помогите пожалуйста разобраться, как начать работу с ts на node.

Я разобрался, как компилировать ts в js (tsc) и как устанавливать ts-заголовки (tsd).
Теперь осталось понять, как включить автоматическое генерирование заголовков для своих модулей и как их публиковать. Отдельно о публикации - над npm я использую sinopia, хочется работать с похожей утилитой и для ts заголовков. Также буду благодарен другим рекомендациям по поводу работы с TypeScript: например об организации файлов проекта и конфигов.
  • Вопрос задан
  • 3872 просмотра
Решения вопроса 1
Теперь осталось понять, как включить автоматическое генерирование заголовков для своих модулей и как их публиковать.

1. https://www.typescriptlang.org/docs/handbook/compi... , --declaration.
2. Используем SystemJS при генерации кода или используем бандлер.
3. Публикуем собранный js-бандл.
Отдельно о публикации - над npm я использую sinopia, хочется работать с похожей утилитой и для ts заголовков.

С TypeScript 2 никаких утилит не надо, всё публикуется в NPM. Варианта два - либо в своём пакете (имхо, предпочтительнее), либо в @types. Подробнее: www.typescriptlang.org/docs/handbook/declaration-f... . По сути, если вы не делали бандл, то тогда рядом с каждым js будет лежать .d.ts. Если вы делаете бандл, то тогда вам нужно попросить tsc сгенерить .d.ts в виде одного файла для всех имеющихся модулей, и тогда вы в package.json с помощью main и types указываете entry-файл и файл с type definitions.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@v_m_smith
лучше бы я пил и курил
Рекомендую для работы с Typescript+Node бесплатный кроссплатформенный редактор Visual Studio Code. В нем прекрасная поддержка и того, и другого:
  • на уровне проекта через конфиг tsconfig.json
  • плагины - для npm, typings и много чего другого
  • IntelliSense для js, ts - подсказки с методами, свойствами, параметрами с указанием типов, подсветкой ошибок в типах и т.п.
  • task tunner - package, bower
  • JSDoc, JSLint, TSLint support

Описание работы с Typescript
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы