Backend Typescript 1.0.0 Help

Первая программа на JavaScript и запуск ее на NodeJS

Введение

В этом разделе вы создадите свою первую программу на JavaScript и запустите её в среде Node.js. Мы разберём минимально необходимую структуру проекта, способы запуска, передачу аргументов, чтение переменных окружения и базовые приёмы вывода логов.

Цель — получить рабочее понимание цикла: «написал скрипт → запустил через CLI → увидел результат → зафиксировал настройки в package.json».

Подготовка окружения

Проверка установки Node.js и npm

Убедитесь, что установлены node и npm — стандартный менеджер пакетов Node.js.

node -v # Вывод: v22.0.0 npm -v # Вывод: 10.0.0

Создание рабочей директории и инициализация проекта

Создайте папку проекта, инициализируйте package.json и откройте проект в любимом редакторе.

mkdir hello-node cd hello-node npm init -y # Вывод: создан файл package.json со значениями по умолчанию

Первая программа (CommonJS по умолчанию)

По умолчанию Node.js использует систему модулей CommonJS (если в package.json не указано иное). Создадим файл index.js и выведем текст.

console.log('Hello, Node.js!'); // Вывод: Hello, Node.js!

Запустите файл командой:

node index.js # Вывод: Hello, Node.js!

Запуск как исполняемого скрипта (shebang)

Скрипт можно сделать исполняемым в Unix-системах при помощи строки shebang. Добавьте её в начало файла и дайте права на исполнение:

#!/usr/bin/env node console.log('Hello from executable!'); // Вывод: Hello from executable!
chmod +x index.js ./index.js # Вывод: Hello from executable!

Аргументы командной строки

Доступ к аргументам запуска осуществляется через process.argv. Первые два элемента — путь к Node и путь к скрипту; полезные аргументы начинаются с индекса 2.

const args = process.argv.slice(2); console.log('Args:', args.join(', ')); // Вывод (пример): Args: --name, Alex
node index.js --name Alex # Вывод: Args: --name, Alex

Переменные окружения

Конфигурацию удобно передавать через переменные окружения, доступные как process.env. Используйте «разумные значения по умолчанию».

const port = process.env.PORT ?? 3000; console.log(`PORT = ${port}`); // Вывод (пример): PORT = 3000
PORT=8080 node index.js # Вывод: PORT = 8080

Логи и коды возврата

Для информационных сообщений используйте console.log (пишет в stdout), для ошибок — console.error (пишет в stderr). Код возврата процесса задаётся process.exit().

console.log('info'); // Вывод: info console.error('error'); // Вывод: error process.exit(0);

Скрипты npm для запуска

Добавьте скрипты в package.json, чтобы унифицировать команды запуска.

{ "name": "hello-node", "version": "1.0.0", "scripts": { "start": "node index.js", "dev": "node --watch index.js" } }
npm run start # Вывод: Hello, Node.js! npm run dev # Вывод: автоматически перезапускает скрипт при изменениях файла

ES Modules vs CommonJS (кратко)

Node.js поддерживает CommonJS и ES Module (ESM). Режим определяется расширением файла и/или полем "type" в package.json.

CommonJS (require/module.exports)

const os = require('os'); console.log(os.platform()); // Вывод (пример): linux

ESM (import/export)

Включите ESM, указав "type": "module" в package.json, или используйте расширение .mjs.

{ "name": "hello-node", "version": "1.0.0", "type": "module" }
import { cpus } from 'os'; console.log(cpus().length); // Вывод (пример): 8
Last modified: 01 October 2025