Возникла необходимость разбираться с Node.js, при чтении книги "TypeScript Быстро" Яков Файн и Антон Моисеев.
Node.js - среда выполнения кода, написанного на JavaScript.
1. Установка NodeJS
1.1. С официального сайта скачиваем и устанавливаем NodeJS https://nodejs.org/en/
1.2 Проверяем версию NodeJS "node -v":
C:\Users\user>node -v
v22.12.0
1.3. Проверяем версию Node Package Manager "npm -v":
C:\Users\user>npm -v
10.9.0
2. Установка nvm-windows
2.1. Устанавливаем nvm-install.exe (https://github.com/coreybutler/nvm-windows);
2.2. Проверяем список установленных версий Node.js "nvm list":
C:\Users\user>nvm list
No installations recognized.
2.3. Перезапускаем cmd или ps;
2.4. Просматриваем версии, доступные для установки "nvm list available":
| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 23.3.0 | 22.12.0 | 0.12.18 | 0.11.16 |
| ... | ... | ... | ... |
2.5. Для большей совместимости, устанавливаем TLS версию "nvm install 22.12.00":
C:\Users\user>nvm install 22.12.0
Downloading node.js version 22.12.0 (64-bit)...
Extracting node and npm...
Complete
npm v10.9.0 installed successfully.
Installation complete. If you want to use this version, type
nvm use 22.12.0
2.6. Проверяем список установленных версий Node.js "nvm list":
C:\Users\user>nvm list
22.12.0
3. Установка TypeScript (tsc)
3.1. Установка tsc "npm install -g typescript" ("-g" - глобально):
C:\Users\user>npm install -g typescript
added 1 package in 11s
npm notice
npm notice New patch version of npm available! 10.9.0 -> 10.9.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.2
npm notice To update run: npm install -g npm@10.9.2
npm notice
3.2. Смотрим версию tsc "tsc -v":
C:\Users\user>tsc -v
Version 5.7.2
4. Пишем программу на TypeScript
4.1. Создаем каталог "demo01" в котором создаём файл main.ts со следующим содержимым:
function getFinalPrice(price: number, discount: number) {
return price - price /discount;
}
console.log(getFinalPrice(100, 10));
4.2. Компилируем main.ts в main.js "tsc main.ts
D:\library\projects\typescript\demo01>tsc main
4.3. Выполняем файл main.js "node main.js":
D:\library\projects\typescript\demo01>node main.js
90
Опции компиляции: при добавлении в main.ts строки "console.log(getFinalPrice(100, "10%"))" файл main.js будет сгенерирован, не смотря на ошибку передачи строкового аргумента "10%" в тип :numeric. Если не обходимо не выполнять компиляцию при ошибке, то необходимо выполнить компиляцию с опцией "--onEmitonError true":
D:\library\projects\typescript\demo01>tsc main.ts --onEmitOnError true
в этом случае, при наличии ошибки в тексе main.ts, файл main.js сформирован не будет.
Компилировать main.ts в main.js версии ECMAScript5:
D:\...> tsc --t ES5 main.ts
5. Создание нового проекта
5.1. В пустом каталоге для нового проекта выполните команду "tsc --init", в результате будет создан файл "tsconfig.json" со значениями компиляции по умолчанию.