вторник, 10 декабря 2024 г.

TypeScript, Node.js

Возникла необходимость разбираться с 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" со значениями компиляции по умолчанию.

Комментариев нет:

Отправить комментарий

Nginx + Let's Crypt

Шаг 1. Установка Certbot # apt-get install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing...