package.json fayli
package.json nima?
package.json - bu Node.js loyihangizni tavsiflovchi maxsus fayl.
Unda ilovangiz haqida uning nomi, versiyasi, bog‘liqliklari, skriptlar va boshqalar kabi ma’lumotlar mavjud.
Bu fayl Node.js loyihalarini boshqarish va ulashish uchun, ayniqsa npm (Node Package Manager) ishlatilganda, juda muhim.
package.json yaratilmoqda
Loyiha papkasida quyidagi buyruqni ishga tushirish orqali package.json faylini yaratishingiz mumkin:
npm init
Bu buyruq sizga loyihangiz haqida bir qator savollar beradi va package.json faylini yaratadi.
Standart qiymatlar bilan tezkor sozlash uchun:
npm init -y
Misol paketi.json
Mana package.json faylining oddiy misoli:
{
"name": "my-node-app",
"version": "1.0.0",
"description": "A simple Node.js app",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "Your Name",
"license": "ISC"
}
Bu fayl ilovani tavsiflaydi, asosiy faylni index.js ga o‘rnatadi va boshlang‘ich skriptni belgilaydi.
Bog‘liqlarni qo‘shish
Npm bilan paketni o‘rnatganingizda, u package.jsonning dependencies bo‘limiga qo‘shiladi:
npm install express
Bu buyruq loyihangizga Express qo‘shadi va package.json ni avtomatik ravishda yangilaydi.
"dependencies": {
"express": "^5.1.0"
}
Umumiy paket.json maydonlari
Asosiy metama’lumotlar
{
"name": "my-package",
"version": "1.0.0",
"description": "A brief description of your package",
"main": "index.js",
"type": "module", // or "commonjs"
"keywords": ["example", "package", "node"],
"author": "Your Name ",
"license": "MIT",
"homepage": "https://example.com/my-package"
}
Skriptlar
npm run <script-name> bilan ishlashi mumkin bo‘lgan maxsus skriptlarni belgilang:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "jest",
"build": "webpack --mode production",
"lint": "eslint .",
"prepare": "husky install"
}
Bog‘liqlar
Versiya diapazonlari bilan loyiha bog‘liqliklarini belgilang:
"dependencies": {
"express": "^4.18.2",
"mongoose": "~7.0.0",
"lodash": "4.17.21"
},
Dev bog‘liqliklari
Faqat ishlab chiqishga bog‘liqliklar (ishlab chiqarishda o‘rnatilmagan):
"devDependencies": {
"nodemon": "^2.0.22",
"jest": "^29.5.0",
"eslint": "^8.38.0"
}
Versiya diapazonlari
^4.17.21- 4.x.x bilan mos (5.0.0 gacha, lekin uni o‘z ichiga olmaydi)~4.17.21- Patch updates only (4.17.x)4.17.21- Aniq versiyalatest- so‘nggi barqaror versiyagit+https://...- Git ombori
Dvigatellar
Node.js va npm versiya talablarini belgilang:
"engines": {
"node": ">=14.0.0 <17.0.0",
"npm": ">=6.0.0"
}
Repozitoriy va xatolar
"repository": {
"type": "git",
"url": "https://github.com/username/repo.git"
},
"bugs": {
"url": "https://github.com/username/repo/issues"
}
package.json bilan ishlash
Bog‘liqlarni qo‘shish
# Install and save to dependencies
npm install package-name
# Install and save to devDependencies
npm install --save-dev package-name
# Install exact version
npm install package-name@1.2.3
Bog‘liqlarni yangilash
# Update a specific package
npm update package-name
# Update all packages
npm update
# Check for outdated packages
npm outdated
Ishlayotgan skriptlar
# Run a script
npm run script-name
# Run start script (can be called with just 'npm start')
npm start
# Run test script (can be called with just 'npm test')
npm test
Eng yaxshi amaliyotlar
- Ishlab chiqarish ilovalari uchun har doim aniq versiyalarni
dependenciesda belgilang - Qayta tiklanadigan tuzilmalar uchun CI/CD payplar (pipes)ida
npm cidan foydalaning package-lock.jsonfaylingizni versiya boshqaruvida saqlang- Chop etilgan paketlardan keraksiz fayllarni chiqarib tashlash uchun
.npmignoredan foydalaning - Xavfsizlik tuzatishlarini olish uchun muntazam ravishda bog‘liqliklarni yangilang
Xulosa
package.json har qanday Node.js loyihasining markazi bo‘lib, metama’lumotlar, skriptlar va bog‘liqlik ma’lumotlarini o‘z ichiga oladi.
Node.js-ni samarali ishlab chiqish uchun uning tuzilishi va maydonlarini tushunish zarur.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
