8

Как запустить файлы TypeScript из командной строки?

2

Я сталкиваюсь с удивительной трудностью в поиске ответа на этот вопрос. В стандартном Node.JS вы можете запустить любой js-файл с помощью команды node path/to/file.js, в CoffeeScript используется команда coffee hello.coffee, а для ES6 — babel-node hello.js. Как же сделать то же самое с TypeScript?

В моем проекте есть файл tsconfig.json, который используется Webpack/ts-loader для сборки удобного пакета для браузера. Однако мне нужна подготовительная стадия, запускаемая из консоли, которая использовала бы некоторые .ts файлы из проекта для генерации схемы. Но я не могу запустить отдельный файл TypeScript без компиляции всего проекта. Как это можно сделать?

5 ответ(ов)

2

Выполните следующие команды и установите необходимые пакеты глобально:

npm install -g ts-node typescript '@types/node'

Теперь выполните следующую команду, чтобы запустить файл TypeScript:

ts-node typescript-file.ts

Убедитесь, что вы заменили typescript-file.ts на имя вашего файла TypeScript. После этого ваш скрипт должен выполниться.

1

Вы также можете попробовать tsx.

tsx — это команда CLI (альтернатива node) для беспрепятственного выполнения TypeScript, она основана на esbuild, поэтому работает очень быстро.

Вот ссылка на репозиторий: esbuild-kit/tsx

Пример использования:

npx tsx ./script.ts
1

Вот шаги, которые вам нужно выполнить:

  1. Сначала установите TypeScript:

    npm install -g typescript
    
  2. Создайте файл с именем helloworld.ts и добавьте в него следующий код:

    function hello(person) {
       return "Hello, " + person;
    }
    let user = "Aamod Tiwari";
    const result = hello(user);
    console.log("Result", result);
    
  3. Откройте командную строку и выполните следующую команду:

    tsc helloworld.ts
    
  4. Затем выполните команду:

    node helloworld.js
    
  5. Результат будет отображен в консоли.

0

Чтобы дополнить ответ @Aamod выше, если вы хотите использовать одну команду для компиляции и запуска вашего кода, вы можете воспользоваться следующими командами:

Для Windows:

tsc main.ts | node main.js

Для Linux / macOS:

tsc main.ts && node main.js

Таким образом, вы сможете скомпилировать main.ts и сразу же запустить скомпилированный main.js.

0

На май 2022 года ts-node действительно поддерживает ES модули. Для использования необходимо выполнить следующую команду:

npx ts-node --esm file.ts

Также вам, вероятно, потребуется добавить в ваш package.json строку "type": "module",. Учтите, что некоторые импорты могут работать некорректно, если вы не включите experimental-specifier-resolution=node.

Дополнительные детали можно найти в документации к ts-node.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь