В этом руководстве вы узнаете, как создать и автоматизировать рабочий процесс разработки для использования и настройки 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
:
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.