--Save और --save-dev में क्या अंतर है?


746

के बीच क्या अंतर है:

npm install [package_name] --save

तथा:

npm install [package_name] --save-dev

इसका क्या मतलब है?


4
हाँ, मैं इस बारे में उलझन में हूँ - यदि आप जेनकींस की तरह निरंतर एकीकरण का उपयोग करते हैं, तो क्या जेनकिंस परीक्षण चलाने के लिए डिडेंडिबिलिटी मॉड्यूल का उपयोग करना जानता है? मैं ऐसा मानता हूं लेकिन यह स्पष्ट नहीं है।
अलेक्जेंडर मिल्स

5
शायद यह कहने के लिए सवाल को भी संपादित करें कि निर्भरता और भक्ति के बीच कार्यात्मक अंतर क्या है?
अलेक्जेंडर मिल्स

5
उपयोगकर्ता द्वारा निष्पादित होने पर --save-dev विकल्प के माध्यम से इंस्टॉल किए गए पैकेज फिर से स्थापित नहीं होते हैं npm install --production। यह परिचालन अंतर है ( अधिक जानकारी के लिए https://docs.npmjs.com/cli/install देखें )।
एंड्रयू

7
@MuhammadUmer ठीक यही कारण है कि लोग यहां पर सवाल पूछते हैं - ताकि 'सुराग मिल सके'। शायद एक वास्तविक उत्तर जोड़ना अधिक उत्पादक होगा - यह निश्चित रूप से एक दिलचस्प अंतर है जिसके बारे में मुझे जानकारी नहीं थी।
सिमोन_विवर

3
यह भी कि यदि आप NODE_ENVउत्पादन के लिए पर्यावरण चर सेट करते हैं , तो बस npm installस्वचालित रूप से विकास पैकेज को बाहर कर देता है।
मुहम्मद उमर

जवाबों:


590
  • --save-devविकास के उद्देश्य के लिए पैकेज को बचाने के लिए उपयोग किया जाता है। उदाहरण: इकाई परीक्षण, लघुकरण ।।
  • --save अनुप्रयोग को चलाने के लिए आवश्यक पैकेज को बचाने के लिए उपयोग किया जाता है।

150
वे कैसे अलग हैं? मैं एक बनाम दूसरे का उपयोग कब करूंगा? क्या मैं अभी भी इसे उत्पादन में पैकेज का उपयोग कर सकता हूँ अगर यह अंडर-देव है?
डेव वॉयल्स 15

14
उत्तर आपके पहले दो प्रश्नों के उत्तर देता है। अंतिम प्रश्न का उत्तर, "क्या मैं अभी भी उत्पादन में पैकेज का उपयोग कर सकता हूं अगर यह अंडर-देव है," नहीं "है।" हालांकि यह निश्चित रूप से ऐसा करने के लिए संभव है, यह इरादा नहीं है।
टेक्नेटियम

61
आशुलिपि संस्करण: -Dके लिए छोटा है --save-devऔर -Sके लिए कम है--save
Chrisco

164
यह उत्तर निराशाजनक रूप से अस्पष्ट है। यहां तक ​​कि एक छोटा सा उदाहरण इस स्पष्ट करने में मदद करने के लिए एक लंबा रास्ता तय करेगा।
चॉयलटन बी। हिगिनबॉटम

33
ध्यान दें कि npm संस्करण 5.0.0 के रूप में, --saveविकल्प अब आवश्यक नहीं है। यदि आप करते हैं npm install my-package, तो यह पैकेज में निर्भरता के रूप में "मेरा-पैकेज" जोड़ देगा। फ़ाइल फ़ाइल।
मार्टिन कैरेल

642

के बीच का अंतर --saveऔर --save-devतुरंत ध्यान देने योग्य नहीं हो सकता है अगर आप उन दोनों को अपने स्वयं के परियोजनाओं पर की कोशिश की है। तो यहाँ कुछ उदाहरण हैं ...

आओ हम कहते हैं कि आप एक ऐप बना रहे थे जो पार्स और प्रदर्शन तिथियों के लिए क्षण पैकेज का उपयोग करता था । आपका ऐप एक शेड्यूलर है, इसलिए इसे चलाने के लिए वास्तव में इस पैकेज की आवश्यकता है, जैसे: इसके बिना नहीं चल सकता । इस मामले में आप उपयोग करेंगे

npm install moment --save

यह आपके package.json में एक नया मान पैदा करेगा

"dependencies": {
   ...
   "moment": "^2.17.1"
}

जब आप विकास कर रहे होते हैं, तो यह वास्तव में परीक्षण सूट जैसे उपकरणों का उपयोग करने में मदद करता है और चमेली-कोर और कर्म की आवश्यकता हो सकती है । इस मामले में आप उपयोग करेंगे

npm install jasmine-core --save-dev
npm install karma --save-dev

यह आपके package.json में एक नया मान भी बनाएगा

"devDependencies": {
    ...
    "jasmine-core": "^2.5.2",
    "karma": "^1.4.1",
}

आपको एप्लिकेशन को उसके सामान्य स्थिति में चलाने के लिए परीक्षण सूट की आवश्यकता नहीं है , इसलिए यह एक --save-devप्रकार की निर्भरता है, इससे अधिक कुछ नहीं। आप देख सकते हैं कि यदि आप यह नहीं समझते हैं कि वास्तव में क्या हो रहा है, तो कल्पना करना थोड़ा कठिन है।

सीधे एनपीएम डॉक्स डॉक्स # निर्भरता से लिया गया

निर्भरता

निर्भरताएं एक साधारण वस्तु में निर्दिष्ट होती हैं जो पैकेज नाम को संस्करण श्रेणी में मैप करती हैं। संस्करण श्रेणी एक स्ट्रिंग है जिसमें एक या एक से अधिक स्थान-पृथक वर्णनकर्ता होते हैं। डिपेंडेंसी को टारबॉल या गिट URL से भी पहचाना जा सकता है।

कृपया अपनी निर्भरता वस्तु में परीक्षण हार्नेस या ट्रांसपिलर न डालें। नीचे दी गई निर्भरता देखें

डॉक्स में भी, यह आपको टेस्ट हार्नेस जैसे मॉड्यूल के लिए -save-dev का उपयोग करने के लिए कहता है।

मुझे उम्मीद है कि यह मदद करता है और स्पष्ट है।


15
IMO, मुझे लगता है कि 'सेव' कीवर्ड एक समस्या है। वे तैनाती के लिए -deploy के लिए -देवा झंडा क्यों नहीं बनाते हैं। इसका मतलब 'सेव' कीवर्ड से है।
Thinh Vu

1
यदि पैकेज रिलीज़ नहीं होता है तो (निर्णय करें) यदि यह रिलीज़ पैकेज या एक देव पैकेज है और - दोनों के लिए उपयोग नहीं किया जाता है। स्थापित उपयोगकर्ता को यह तय करने में अजीब लगता है, जब पैकेज डेवलपर इरादा बनाता है।
CodeGrue

4
CodeGrue, यदि आप रिएक्ट घटकों में परीक्षण के लिए केवल jQuery का उपयोग करते हैं, तो यह सेव-डे में जाएगा, लेकिन आप वास्तव में इसका उपयोग अपने मुख्य प्रोजेक्ट को बनाने के लिए नहीं कर सकते हैं। हां, यह संभव है। तो पैकर को क्यों पता होगा कि आप इसके साथ क्या कर रहे हैं?
माइकल ब्रूस

2
बहुत साफ है। मैं एक एम्बेडेड लड़का हूं, जो पहली बार बूटस्ट्र्रा + नोड्स वर्कफ़्लो सीख रहा है। यह स्पष्ट नहीं है कि कफ में क्या अंतर है।
Leroy105

3
@YakovL save-dev का मतलब है कि पैकेज तब स्थापित नहीं होते हैं जब कोई और आपके पैकेज को उनकी निर्भरता के रूप में स्थापित करता है। पैकेज जो केवल स्क्रिप्ट चलाने के लिए उपयोग किए जाते हैं जैसे कि स्टार्ट / बिल्ड की उस स्थिति में आवश्यकता नहीं होगी, इसलिए उन्हें देव-निर्भरता में डाल दिया जाता है। यदि आप किसी वेब ऐप पर काम कर रहे हैं और दूसरों के उपयोग के लिए पैकेज पर नहीं हैं, तो आपको शायद इस बारे में चिंता नहीं करनी चाहिए।
रीव

111

डिफ़ॉल्ट रूप से, एनपीएम केवल नोड_मॉड्यूल के तहत एक पैकेज स्थापित करता है। जब आप अपने ऐप / मॉड्यूल के लिए निर्भरता स्थापित करने का प्रयास कर रहे हों, तो आपको पहले उन्हें स्थापित करना होगा, और फिर उन्हें dependenciesअपने सेक्शन में जोड़ना होगा package.json

--save-devपैकेज के विकास पर निर्भरता के लिए तृतीय-पक्ष पैकेज जोड़ता है। जब कोई आपके पैकेज को स्थापित करता है तो यह स्थापित नहीं किया जाएगा। यह आमतौर पर केवल तभी स्थापित होता है जब कोई व्यक्ति आपके स्रोत के भंडार को क्लोन करता है और npm installउसमें चलता है।

--saveतृतीय-पक्ष पैकेज को पैकेज की निर्भरता में जोड़ता है। इसे जब भी कोई चलाता है पैकेज के साथ स्थापित किया जाएगा npm install package

देव निर्भरता वे निर्भरताएँ हैं जो केवल पैकेज विकसित करने के लिए आवश्यक हैं। इसमें टेस्ट रनर, कंपाइलर, पैकर्स, आदि शामिल हो सकते हैं। दोनों प्रकार की निर्भरताएँ पैकेज में संग्रहित की जाती हैंpackage.json फ़ाइल । --saveको जोड़ता है dependencies, को --save-devजोड़ता हैdevDependencies

npm स्थापित करें प्रलेखन को यहां संदर्भित किया जा सकता है।


37
मुझे इस पर संदेह था ... यदि आप एक वेब ऐप बना रहे हैं जो कि एक पैकेज है, जो npm से डाउनलोड नहीं किया जाएगा, यदि आप दूसरों के साथ साझा करने के लिए पैकेज विकसित कर रहे हैं, तो आप इसका उपयोग कर सकते हैं-save-dev और --save। अंतर को समझना महत्वपूर्ण है।
VFein

13
अंत में किसी को धन्यवाद दें कि जब आप इसका उद्देश्य कहते हैं जब आप npm इंस्टॉल का उपयोग करते हैं
CapturedTree

3
--save अब npm 5 के साथ
npm

रुको, जटिल वाक्य क्यों? DevD dependecy डेवलपर पैकेज को स्थापित कर सकता है, और इसे केवल devDevependency अपडेट किया जाएगा। इसलिए जब नए डेवलपर प्रोजेक्ट कोडबेस को क्लोन करते हैं और dependency package name is going to install.npm install => केवल नोड_मॉड्यूल में चलाते हैं .. तो देव-निर्भरता के रूप में डेवलपर का पैकेज नहीं।
अनुपम मौर्य

60

इसका एक आदर्श उदाहरण है:

$ npm install typescript --save-dev

इस स्थिति में, आप विकास के लिए टाइपस्क्रिप्ट (एक जावास्क्रिप्ट-पार्स करने योग्य भाषा) उपलब्ध होना चाहते हैं, लेकिन एक बार ऐप को तैनात करने के बाद, यह अब आवश्यक नहीं है, क्योंकि सभी कोड को जावास्क्रिप्ट में स्थानांतरित कर दिया गया है। जैसे, इसे प्रकाशित ऐप में शामिल करने का कोई मतलब नहीं होगा। वास्तव में, यह केवल स्थान और डाउनलोड समय बढ़ाएगा।


4
वही इसके लिए जाता है: "$ npm ग्रंट -save-dev", क्योंकि यह विकास के लिए उपयोगी है, लेकिन तैनाती के लिए नहीं।
जैकलोप

1
एक पक्ष ध्यान दें: Microsoft निर्भरता के रूप में @ प्रकार / xxx पैकेज स्थापित करने का सुझाव देता है, न कि निर्भरता github.com/Microsoft/types-publisher/issues/81
Dave

2
मुझे जो भ्रामक लगता है वह यह कैसे होता है? सहेजे गए पैकेज --saveअभी भी केवल node_modulesफ़ोल्डर में सहेजे गए हैं । कोड परिनियोजित वेबसाइट में शामिल नहीं है।
कोकोडोको

6
@ कोकोकोड जब आप --save-devध्वज का उपयोग करते हैं , तो पैकेज को आपकी devDependenciesवस्तु में जोड़ा जाता है। यदि / जब कोई आपके पैकेज को स्थापित करता है, तो सभी dependenciesडाउनलोड devDependenciesकिए जाते हैं, लेकिन वे नहीं हैं, क्योंकि उन्हें रनटाइम की आवश्यकता नहीं है। जैसा कि उत्तर में कहा गया है, यह उन्हें समय और स्थान बचाता है। आपकी पैकेज फ़ाइलों पर काम करने वाले डेवलपर्स ही npm installपैकेज निर्देशिका के अंदर चलाने के devDependenciesसाथ ही स्थापित कर सकते हैं ।
जसजीत सिंह मारवाह

इसलिए यदि आप गितुब और प्रकार से रेपो डाउनलोड npm installकरते devDependenciesहैं , तो अनदेखा कर दिया जाता है?
कोकोडोको

40

मैं आपको एक उदाहरण देता हूं,

  • आप एक बहुत ही गंभीर npm पुस्तकालय के एक डेवलपर हैं । जो पैकेज का परीक्षण करने के लिए विभिन्न परीक्षण पुस्तकालयों का उपयोग करता है।
  • एक उपयोगकर्ता ने आपकी लाइब्रेरी डाउनलोड की और इसे अपने कोड में उपयोग करना चाहता है। क्या उन्हें आपके परीक्षण पुस्तकालयों को भी डाउनलोड करने की आवश्यकता है? शायद आप jestपरीक्षण के लिए उपयोग करते हैं और वे उपयोग करते हैं mocha। क्या आप उन्हें भी स्थापित करना चाहते हैं jest? बस अपनी लाइब्रेरी चलाने के लिए?

कोई अधिकार नहीं? इसलिए वे अंदर हैंdevDependencies

जब कोई करता है, तो आपके पुस्तकालय npm i yourPackageको चलाने के लिए आवश्यक पुस्तकालय स्थापित किए जाएंगे। आपके द्वारा या परीक्षण और मॉकिंग के साथ अपने कोड को बंडल करने के लिए उपयोग की जाने वाली अन्य लाइब्रेरी स्थापित नहीं की जाएंगी क्योंकि आप उन्हें अंदर डालते हैंdevDependencies । बहुत साफ सही?

तो, डेवलपर्स को देव-निर्भरताओं को उजागर करने की आवश्यकता क्यों है ?

मान लीजिए कि आपका पैकेज एक खुला स्रोत पैकेज है और 100 लोग आपके पैकेज के लिए अनुरोध भेज रहे हैं। फिर वे पैकेज का परीक्षण कैसे करेंगे? वे करेंगे git cloneअपने रेपो और जब वे एक करना होगा निर्भरता के साथ ही devDependenciesnpm i
क्योंकि वे आपके पैकेज का उपयोग नहीं कर रहे हैं। वे पैकेज को और विकसित कर रहे हैं, इस प्रकार, आपके पैकेज का परीक्षण करने के लिए उन्हें मौजूदा परीक्षण मामलों को पास करने के साथ-साथ नया लिखना होगा। तो, उन्हें आपके उपयोग की आवश्यकता है devDependenciesजिसमें आपके द्वारा उपयोग किए जाने वाले सभी परीक्षण / भवन / मॉकिंग लाइब्रेरी शामिल हैं।


8
स्वीकृत उत्तर के साथ-साथ अधिकतम मतों के उत्तर से भी बेहतर है क्योंकि यह उत्तर प्रकृति में अधिक व्यावहारिक है। धन्यवाद!
एक्सक्लूसिव एक्सेप्शन

यह चुना हुआ उत्तर होना चाहिए। अन्य सभी उत्तर वास्तव में यह नहीं समझाते हैं कि आप दूसरे पर एक का उपयोग क्यों करेंगे।
रॉकी केव

34

जैसा कि इस उत्तर में @ andreas-hultgren ने सुझाव दिया है और npm डॉक्स के अनुसार :

यदि कोई अपने प्रोग्राम में आपके मॉड्यूल को डाउनलोड करने और उसका उपयोग करने की योजना बना रहा है, तो वे शायद बाहरी परीक्षण या प्रलेखन फ्रेमवर्क को डाउनलोड या बनाने की आवश्यकता नहीं है जो आप उपयोग करते हैं।

हालांकि, वेब विकास के लिए, येओमान (एक मचान उपकरण जो एक सहकर्मी-समीक्षा, पूर्व-लिखित पैकेज। अन्य चीज़ों के बीच फ़ाइल को स्थापित करता है) सभी पैकेजों को भक्ति पर निर्भरता में और कुछ भी निर्भर नहीं करता है, इसलिए ऐसा प्रतीत होता है कि इसका उपयोग --save-devएक सुरक्षित शर्त है में webapp विकास, कम से कम।


3
ध्यान दें कि मैंने gulp का उपयोग करते समय उन मुद्दों को चलाया है, --save-devजहाँ पैकेज अपनी आवश्यक निर्भरताएँ स्थापित नहीं करेगा। रनिंग --saveने उन गुम निर्भरताओं को स्थापित किया।
निक एम

18
मैं यह भी नोट करना चाहूंगा कि मैं अब --saveसभी के लिए उपयोग कर रहा हूं, लेकिन परीक्षण और प्रलेखन निर्भरता (एनपीएम डॉक्स के अनुसार)। मुझे लगता है कि ऊपर बताए गए योमन उदाहरण से मुझे लगता है कि यह सर्वोत्तम अभ्यास का एक अच्छा उदाहरण नहीं है।
wayfarer_boy

मुझे भी लगता है कि, आपको कभी भी --save-devहर उत्तर के साथ केवल स्पष्ट होने की आवश्यकता क्यों होगी :)
कोकोडको

20

--save-devआपके पैकेज डिस्क्रिप्टर फ़ाइल में "devD dependencies" सरणी में सेमर स्पेक --saveबचाता है , इसके बजाय इसे "निर्भरता" में बचाता है।


83
और कार्यात्मक अंतर क्या है?
अहानिबेकाड

6
यह जवाब मेरे लिए सबसे ज्यादा मायने रखता है, विकास के लिए निर्भरताएँ आवश्यक हैं, लेकिन उत्पादन नहीं, इसलिए htmllint, sass संकलन आदि और निर्भरताएँ उत्पादन आवश्यकताओं के लिए हैं, जैसे कि Diaporama जिसे चलाने के लिए चीजों की आवश्यकता होती है।
गोरिल्ला

3
@ahnbizcad यह यहाँ बेहतर उत्तर दिया गया है लेकिन प्राथमिक कार्यात्मक अंतर यह है कि भक्ति निर्भरता में शामिल नहीं है।
पेस

किसी ऐसे व्यक्ति के लिए इसका वर्णन करने का सबसे सहज तरीका नहीं है, जो पहले से ही यह नहीं जानता है ?: देव --save-devआपकी परियोजना के लिए स्थानीय बनाता है, जबकि --saveउन्हें नोड की स्थापना के लिए स्थानीय बनाता है?
अहानबेस्कैड

9

स्पष्ट उत्तर पहले से ही उपलब्ध हैं। लेकिन यह ध्यान देने योग्य है कि devDependenciesपैकेज स्थापित करने को कैसे प्रभावित करता है:

डिफ़ॉल्ट रूप से, npm इंस्टॉल पैकेज.json में निर्भरता के रूप में सूचीबद्ध सभी मॉड्यूल स्थापित करेगा। --प्रोडक्शन फ़्लैग (या जब NODE_ENV पर्यावरण चर उत्पादन के लिए सेट किया गया है) के साथ, npm devDependencies में सूचीबद्ध मॉड्यूल स्थापित नहीं करेगा।

देखें: https://docs.npmjs.com/cli/install


8

आप आम तौर पर उन चीजों के साथ उत्पादन पैकेज को ब्लोट नहीं करना चाहते हैं जिन्हें आप केवल विकास के उद्देश्यों के लिए उपयोग करना चाहते हैं।

यूनिट टेस्ट चौखटे (जेस्ट, चमेली, मोचा, चाय, आदि) को अलग करने के लिए --save-dev(या -D) विकल्प का उपयोग करें ।

कोई भी अन्य पैकेज जो आपके ऐप को उत्पादन के लिए आवश्यक है, का उपयोग करके स्थापित किया जाना चाहिए --save(या -S)।

npm install --save lodash       //prod dependency
npm install -S moment           // "       "
npm install -S opentracing      // "       "

npm install -D jest                 //dev only dependency
npm install --save-dev typescript   //dev only dependency

यदि आप package.jsonफ़ाइल खोलते हैं, तो आप दो अलग-अलग वर्गों के तहत सूचीबद्ध इन प्रविष्टियों को देखेंगे:

"dependencies": {
  "lodash": "4.x",
  "moment": "2.x",
  "opentracing": "^0.14.1"
},

"devDependencies": {
    "jest": "22.x",
    "typescript": "^2.8.3"
},

5

-save-dev का उपयोग अनुप्रयोग के विकास में उपयोग किए जाने वाले मॉड्यूल के लिए किया जाता है, इसे उत्पादन envionment में चलाने की आवश्यकता नहीं होती है --save है - इसे पैकेज में जोड़ने के लिए उपयोग किया जाता है। और एप्लिकेशन को चलाने के लिए इसकी आवश्यकता होती है।

उदाहरण: एक्सप्रेस, बॉडी-पार्सर, लॉश, हेल्मेट, mysql इन सभी का उपयोग एप्लिकेशन का उपयोग करते समय किया जाता है - निर्भरता में डालने के लिए उपयोग करें, जबकि mocha, istanbul, chai, सोनारक्वे-स्कैनर सभी का उपयोग विकास के दौरान किया जाता है, इसलिए उन लोगों को देव में रखें निर्भरता।

npm लिंक या npm इंस्टॉल आपके प्रोजेक्ट फ़ोल्डर में निर्भरता मॉड्यूल के साथ-साथ देव-निर्भरता मॉड्यूल भी स्थापित करेगा


3

यहां सभी स्पष्टीकरण महान हैं, लेकिन एक बहुत महत्वपूर्ण चीज की कमी है: आप केवल उत्पादन निर्भरता कैसे स्थापित करते हैं? (विकास निर्भरता के बिना)। हम उपयोग करके या dependenciesसे अलग devDependenciesकरते हैं । हम सभी का उपयोग करने के लिए स्थापित करें:--save--save-dev

npm i

केवल उत्पादन पैकेज स्थापित करने के लिए हमें उपयोग करना चाहिए:

npm i --only=production

0

मैं अपने कुछ विचार जोड़ना चाहता हूं

मुझे लगता है कि सभी अंतर तब प्रकट होंगे जब कोई व्यक्ति आपके द्वारा उपयोग किए जाने के बजाय आपके कोड का उपयोग करेगा

उदाहरण के लिए, आप एक HTTP पुस्तकालय कहते हैं node's request

अपने पुस्तकालय में,

आपने स्ट्रिंग और ऑब्जेक्ट को संभालने के लिए लॉश का उपयोग किया, बिना लॉश के, आपके कोड नहीं चल सकते

अगर कोई आपके HTTP लाइब्रेरी को अपने कोड के एक भाग के रूप में उपयोग करता है। आपके कोड उसके साथ संकलित किए जाएंगे।

आपके कोड्स को दर्ज करने की जरूरत है, इसलिए आपको संकलनdependencies करने की आवश्यकता है


यदि आप एक परियोजना लिखते हैं monaco-editor, जो एक वेब संपादक है,

आपने अपने सभी कोड और अपने product env libraryवेबपैक का उपयोग कर बंडल बना लिया है, जब निर्माण पूरा हो जाता है, तो केवल एmonaco-min.js

तो किसी को कोई फर्क नहीं पड़ता है --saveया --save-dependencies, केवल उसकी जरूरत हैmonaco-min.js

सारांश:

  1. यदि कोई आपके कोड को संकलित करना चाहता है (पुस्तकालय के रूप में उपयोग करें), lodashजो आपके कोड द्वारा उपयोग किया जाता हैdependencies

  2. यदि कोई आपके कोड में अधिक सुविधा जोड़ना चाहता है, तो उसे आवश्यकता है unit testऔर compiler, इन्हें डाल देंdev-dependencies


0

लोग दुष्ट शांत सामान करने के लिए उत्पादन पर npm का उपयोग करते हैं, Node.js इसका एक उदाहरण है, इसलिए आप नहीं चाहते कि आपके सभी देव उपकरण चलाए जाएं।

यदि आप अपने सर्वर पर डालने के लिए बिल्ड फ़ाइलों को बनाने के लिए gulp (या समान) का उपयोग कर रहे हैं तो यह वास्तव में मायने नहीं रखता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.