Node.js Typescript: автоматизация настройки проекта

В этом руководстве вы узнаете, как создать и автоматизировать рабочий процесс разработки для использования и настройки TypeScript в проекте Node.js.

В этом руководстве предполагается, что в вашей системе установлены модули node.js и tsc.

Создание структуры проекта

Сначала создайте новый каталог с именем nodets.

Во-вторых, создайте два подкаталога в nodets с именами build и src, например:

Создание структуры проекта

Вы сохраните код TypeScript в каталоге src.

Как только компилятор TypeScript скомпилирует исходные файлы TypeScript, он сохранит выходные файлы в build.

Настройка компилятора TypeScript

В терминале на macOS и Linux или в командной строке Windows выполните следующую команду в каталоге nodets, чтобы создать файл tsconfig.json :

tsc --init

Вы увидите tsconfig.json созданный в nodets :

Настройка компилятора TypeScript

tsconfig.json указывает, что каталог( nodets ) является корнем проекта TypeScript.

Когда вы компилируете файлы TypeScript, компилятор TypeScript будет использовать параметры в tsconfig.json.

Теперь вы можете открыть файл tsconfig.json. Есть много вариантов. В этом уроке сосредоточимся на этих двух вариантах:

  • rootdir — указывает корневой каталог входных файлов TypeScript.
  • outdir — хранит выходные файлы JavaScript.

Эти параметры закомментированы по умолчанию. И вам нужно будет раскомментировать (удалить // в начале строки) и изменить их следующим образом:

Для опции outDir :

"outDir": "./build"

И для опции rootDir :

"rootDir": "./src"

Чтобы проверить новую конфигурацию, вы можете создать новый файл с именем app.ts в ./src и поместить следующий код:

console.log('Node.js TypeScript');

Проверка новой конфигурации

Затем выполните следующую команду, чтобы запустить компилятор TypeScript. Он скомпилирует все файлы, хранящиеся в каталоге src :

tsc

Если конфигурация правильная, вы увидите app.js, сгенерированный в ./build :

Результат проверки

Чтобы запустить app.js, перейдите в build и выполните следующую команду:

node app.js

Вы увидите следующий вывод:

Node.js TypeScript

Каждый раз, когда вы меняете код TypeScript, вам необходимо:

  • Создать проект.
  • Запустить выходные файлы JavaScript.

Это отнимает много времени.

К счастью, вы можете автоматизировать весь процесс, используя некоторые модули Node.js.

Установка модулей Node.js

Модуль nodemon позволяет автоматически перезапускать приложение при изменении исходного кода JavaScript.

Модуль concurrently одновременно запускает несколько команд.

Сначала выполните команду npm init из корневого каталога проекта:

npm init --yes

Затем установите модуль nodemon и concurrently:

npm install --g nodemon concurrently

Установка займет некоторое время. После завершения установки обратите внимание, что флаг -g указывает npm установить эти два модуля глобально. Это позволяет использовать их в других проектах.

Затем откройте файл package.json, вы увидите что-то вроде этого в опции scripts :

...  
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
...

После этого измените параметр scripts на следующий:

...
"scripts": {
    "start:build": "tsc -w",
    "start:run": "nodemon build/app.js",
    "start": "concurrently npm:start:*"
},
...

"start:build": "tsc -w" будет следить за изменениями в ./src и автоматически компилировать их.

"start:run": "nodemon build/app.js" будет автоматически запускать app.js в ./build при каждом создании нового файла.

"start": "concurrently npm:start:*" запускает все команды, начинающиеся с npm:start:*, который выполняет обе start:build и start:run выше.

Поскольку app.js будет точкой входа для программы Node.js, вам также необходимо изменить следующую опцию в файле package.json на app.js :

От:

"main": "index.js"

К:

 "main": "app.js"

Наконец, выполните следующую команду:

npm start

Чтобы проверить конфигурацию, вы измените некоторый код в app.ts. И вы увидите вывод в консоли.

В этом руководстве вы узнали, как настроить рабочий процесс разработки для использования TypeScript в проектах Node.js.

Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript