Node.js package.json

अपने Node.js प्रोजेक्ट के मूल का अन्वेषण करें

package.json क्या हैं?

package.json Node.js .

इसमें आपके एप्लिकेशन का नाम, संस्करण, निर्भरता, स्क्रिप्ट और बहुत कुछ जैसी जानकारी शामिल है।

प्रोजेक्ट मेटाडेटा

नाम, संस्करण, विवरण और अन्य जानकारी

निर्भरता प्रबंधन

परियोजना के लिए आवश्यक सभी पैकेज

लिपियों की परिभाषा

प्रोग्राम को चलाने का आदेश देता है

💡महत्वपूर्ण नोट:

यह फ़ाइल Node.js परियोजनाओं को प्रबंधित और साझा करने के लिए आवश्यक है, विशेषकर npm (नोड पैकेज मैनेजर) का उपयोग करते समय।

package.json बनाया जा रहा है

अपनी प्रोजेक्ट निर्देशिका में निम्नलिखित कमांड चलाकर package.json फ़ाइल बनाएं:

npm init

यह कमांड आपके प्रोजेक्ट के बारे में प्रश्नों की एक श्रृंखला पूछेगा और एक package.json फ़ाइल तैयार करेगा।

डिफ़ॉल्ट मानों के साथ त्वरित सेटअप के लिए, इसका उपयोग करें:

npm init -y

package.json उदाहरण

यहां पैकेज.जेसन का एक सरल उदाहरण दिया गया है:

{
  "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"
}

📝व्याख्या:

यह फ़ाइल एप्लिकेशन का वर्णन करती है, कुंजी फ़ाइल को Index.js पर सेट करती है और एक स्टार्टअप स्क्रिप्ट को परिभाषित करती है।

निर्भरताएँ जोड़ना

जब आप npm के साथ एक पैकेज स्थापित करते हैं, तो इसे package.json के निर्भरता अनुभाग में जोड़ा जाता है:

npm install express

यह कमांड आपके प्रोजेक्ट में एक्सप्रेस जोड़ता है और package.json को स्वचालित रूप से अपडेट करता है।

"dependencies": {
  "express": "^5.1.0"
}

सामान्य package.json फ़ील्ड

बुनियादी मेटाडेटा

{
  "name": "my-package",
  "version": "1.0.0",
  "description": "A brief description",
  "main": "index.js",
  "type": "module",
  "keywords": ["example", "package"],
  "author": "Your Name",
  "license": "MIT",
  "homepage": "https://example.com"
}

लिपियों

कस्टम स्क्रिप्ट को परिभाषित करें जिसे npm run <script-name> के साथ चलाया जा सकता है:

"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js",
  "test": "jest",
  "build": "webpack --mode production",
  "lint": "eslint .",
  "prepare": "husky install"
}

निर्भरताएँ और निर्भरताएँ बनाएँ

निर्भरताएँ

संस्करण सीमाओं के साथ परियोजना निर्भरताएँ निर्दिष्ट करें:

"dependencies": {
  "express": "^4.18.2",
  "mongoose": "~7.0.0",
  "lodash": "4.17.21"
}

निर्भरताएँ बनाएँ

केवल-निर्माण निर्भरताएँ (उत्पादन में स्थापित नहीं):

"devDependencies": {
  "nodemon": "^2.0.22",
  "jest": "^29.5.0",
  "eslint": "^8.38.0"
}

संस्करण सीमाएँ

संस्करण व्याख्या उदाहरण
^4.17.21 4.x.x के साथ संगत (5.0.0 तक लेकिन इसमें शामिल नहीं) कोई महत्वपूर्ण संस्करण परिवर्तन नहीं
~4.17.21 केवल पैच अपडेट (4.17.x) केवल छोटे अपडेट
4.17.21 सही संस्करण केवल सही संस्करण
latest नवीनतम स्थिर संस्करण नवीनतम संस्करण
git+https://... Git डायरेक्ट गिट कनेक्शन

अतिरिक्त फ़ील्ड

मशीनों

Node.js npm :

"engines": {
  "node": ">=14.0.0 <17.0.0",
  "npm": ">=6.0.0"
}

भंडार और त्रुटियाँ

"repository": {
  "type": "git",
  "url": "https://github.com/username/repo.git"
},
"bugs": {
  "url": "https://github.com/username/repo/issues"
}

package.json के साथ कार्य करना

निर्भरताएँ जोड़ना

# 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

निर्भरताएँ अद्यतन कर रहा है

# Update a specific package
npm update package-name

# Update all packages
npm update

# Check for outdated packages
npm outdated

चल रही स्क्रिप्ट

# 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

सर्वोत्तम अभ्यास

उत्पादन अनुप्रयोगों में निर्भरता में सही संस्करण निर्दिष्ट करें
प्रतिलिपि प्रस्तुत करने योग्य निर्माण के लिए सीआई/सीडी पाइपलाइनों में एनपीएम सीआई का उपयोग करें
अपनी package-lock.json फ़ाइल को संस्करण नियंत्रण में रखें
प्रकाशित पैकेजों में अनावश्यक फ़ाइलों को बाहर करने के लिए .npmignore का उपयोग करें
सुरक्षा पैच प्राप्त करने के लिए नियमित रूप से निर्भरताएँ अद्यतन करें

सारांश

package.json Node.js , , .

प्रभावी Node.js विकास के लिए इसकी संरचना और क्षेत्रों को समझना आवश्यक है।

प्रोजेक्ट आईडी

नाम, संस्करण, विवरण और अन्य मेटाडेटा

निर्भरता प्रबंधन

सभी आवश्यक पैकेज और संस्करण

स्क्रिप्ट परिभाषाएँ

परियोजना निष्पादन के लिए आदेश

प्रोजेक्ट साझा करना

प्रोजेक्ट को साझा करना और इंस्टॉल करना आवश्यक है

💎महत्वपूर्ण बिंदु:

  • package.json Node.js
  • npm init के साथ आसानी से निर्माण करें
  • निर्भरताएँ स्वचालित रूप से जोड़ी और अद्यतन की जाती हैं
  • स्क्रिप्ट प्रोजेक्ट निष्पादन को सरल बनाती हैं
  • सर्वोत्तम प्रथाओं का पालन करके सुरक्षा सुनिश्चित करें

अभ्यास

सही फ़ील्ड नाम चुनें.

package.json ______फ़ील्ड आपके एप्लिकेशन के शुरुआती बिंदु को परिभाषित करता है।

start
✗ ग़लत! स्क्रिप्ट अनुभाग में "प्रारंभ" एक स्क्रिप्ट नाम है, महत्वपूर्ण प्रविष्टि बिंदु नहीं
main
✓ ठीक है! "मुख्य" फ़ील्ड संकलन के लिए मुख्य प्रविष्टि बिंदु फ़ाइल को परिभाषित करता है
index
✗ ग़लत! पैकेज.जेसन में "इंडेक्स" एक स्थिर फ़ील्ड नहीं है
entry
✗ ग़लत! package.json में "एंट्री" एक स्थिर फ़ील्ड नहीं है