package.json, скрипты и зависимости: deps и devDeps
Разберитесь в полях package.json, определяйте простые скрипты и узнайте разницу между зависимостями и devDependencies
«package.json, скрипты и зависимости: deps и devDeps» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.
Зачем нужен package.json?
Цель: читать и использовать package.json.
- Основные поля: name, version, type
- scripts: запускать короткие команды
- dependencies и devDependencies
- Семантические версии (циркумфлекс/тильда) — краткое знакомство для начинающих

Обзор полей
package.json — это манифест с информацией о проекте, сценариями и списками зависимостей.
// Emulate a minimal package.json as a JS object
const pkg = {
name: "hello-app",
version: "1.0.0",
type: "module",
scripts: {
start: "node index.js",
build: "echo building...",
test: "echo tests..."
},
dependencies: {
"chalk": "^5.3.0"
},
devDependencies: {
"eslint": "^9.0.0"
}
};
console.log("name:", pkg.name);
console.log("version:", pkg.version);
console.log("type:", pkg.type);
console.log("scripts:", Object.keys(pkg.scripts));

Сценарии по имени
Добавляйте команды в scripts (например, build, test), а затем запускайте их с помощью менеджера пакетов.
// Tiny emulator for "npm run <name>"
function runScript(name) {
const cmd = pkg.scripts[name];
if (!cmd) {
console.log("no such script:", name);
return;
}
console.log("running:", name, "->", cmd);
}
runScript("build");
runScript("test");
runScript("missing");

Что куда помещать?
dependencies нужны во время работы приложения, а devDependencies — это только инструменты для разработки.
// List production deps vs development-time tools
function listDeps() {
console.log("deps:", Object.keys(pkg.dependencies));
console.log("devDeps:", Object.keys(pkg.devDependencies));
}
// Rule of thumb in comments:
// dependencies -> needed at runtime (your app uses them when running)
// devDependencies -> only for development (lint, test, build tools)
listDeps();

Основы semver
Semver-диапазоны выражают допустимые обновления: циркумфлекс (минорные и исправляющие), тильда (только исправляющие) или точная версия.
// Semantic version ranges (intent only)
// ^1.2.3 -> allow minor/patch updates (1.x compatible)
// ~1.2.3 -> allow patch updates (1.2.x)
// 1.2.3 -> exact version
const ranges = ["^1.2.3", "~1.2.3", "1.2.3"];
for (const r of ranges) {
console.log("range:", r);
}

Практические заметки
Советы:
- Делайте сценарии короткими и понятными (например, build, test).
- Библиотеки времени выполнения → dependencies; инструменты → devDependencies.
- Начинайте с диапазонов ^; при необходимости позже зафиксируйте точные версии.

Тест по полю scripts
Быстрая проверка: где находятся команды?

Повторение
Повторение: package.json содержит информацию о проекте и scripts для запуска задач, а также отделяет dependencies (зависимости времени выполнения) от devDependencies (инструменты разработки). Используйте простые диапазоны semver, чтобы оставаться в актуальном состоянии.

Часто задаваемые вопросы
Урок «package.json, скрипты и зависимости: deps и devDeps» бесплатный?
Да — полный текст урока «package.json, скрипты и зависимости: deps и devDeps» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «package.json, скрипты и зависимости: deps и devDeps»?
Разберитесь в полях package.json, определяйте простые скрипты и узнайте разницу между зависимостями и devDependencies Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать JavaScript Academy?
Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «package.json, скрипты и зависимости: deps и devDeps»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке JavaScript Academy?
Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- package.json, скрипты и зависимости: deps и devDeps
- npx и диапазоны семантических версий
- Локальные и глобальные инструменты, bin и удобные для команды процессы