Ответ
Нет, Node.js не может выполнять TypeScript файлы напрямую, так как его движок понимает только JavaScript. Для выполнения TS-кода требуется промежуточная трансформация. Вот основные подходы:
1. Использование ts-node (наиболее популярный способ для разработки):
npm install -D ts-node typescript
npx ts-node script.ts
ts-node компилирует TypeScript в памяти и передает результат в Node.js, что удобно для разработки, но добавляет накладные расходы.
2. Нативные ESM Loaders (Node.js v20+):
node --loader ts-node/esm script.ts
Этот метод использует экспериментальный API загрузчиков модулей.
3. Предварительная компиляция (рекомендуется для продакшена):
# Компиляция всего проекта
npx tsc
# Запуск скомпилированного JavaScript
node dist/script.js
Для продакшена я всегда компилирую TypeScript в JavaScript с помощью tsc, esbuild или swc. Это дает оптимальную производительность и позволяет использовать tree-shaking. В моих проектах настройка сборки обычно включает esbuild для скорости и tsc для проверки типов.