2017-06-30 17 views
19

का उपयोग करने के लिए बोवर (बंद) से दूर जाने से मैंने 1 साल पहले नेट नेट एप्लिकेशन पर काम करना शुरू कर दिया था। मैंने अपने प्रोजेक्ट साइड पैकेज को प्रबंधित करने के लिए विजुअल स्टूडियो में प्रोजेक्ट स्थापित करने के लिए नेट कोर का इस्तेमाल किया और बॉवर का इस्तेमाल किया। ऐसा लगता है कि bowerbeing maintained/discontinued है और "प्रभारी लोग" yarn या webpack का उपयोग करने का सुझाव देते हैं।इसके बजाय यार्न/एनपीएम (नेट कोर एमवीसी) VS2017

तो मेरे सवाल का कैसे मैं yarn बजाय bower का उपयोग शुरू करते है? (या NPM अगर वह अधिक उपयुक्त है)

जब मैं अपने परियोजना शुरू मैं बोवर दृश्य स्टूडियो पैकेज प्रबंधक के भीतर से बस द्वारा टाइप करके इस्तेमाल किया:

bower install <package-name> 

और यह भीतर फ़ाइलें/निर्देशिका स्थापित करने में कामयाब रहे मेरा wwwroot/lib/ फ़ोल्डर। मुझे बस अपनी _Layout.cshtml पर निर्भरता जोड़नी पड़ी और सब कुछ बेकार ढंग से काम करता था।

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" 
    asp-fallback-src="~/lib/jquery/dist/jquery.min.js" 
    asp-fallback-test="window.jQuery"> 
</script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" 
    asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js" 
    asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"> 
</script> 

मुझे लगता है यह काफी मुश्किल यह पता लगाने की कैसे सूत या NPM उपयोग करने के लिए एक ही दृश्य स्टूडियो 2017 के भीतर "easyness" मैं पहले से ही BundlerMinifier.Core NuGet पैकेज के माध्यम से फ़ाइलों को कम करने के लिए उपयोग किया प्राप्त करने के लिए, और मैं इस पर विश्वास यह स्वचालित रूप से मेरे भीतर फ़ाइलों के लिए करता है, इसलिए मैं जिस समाधान का उपयोग करना चाहता हूं उसके लिए आवश्यकता नहीं है।

मैंने googling की कोशिश की है, लेकिन ऐसा लगता है कि यह एक बहुत ही आम समस्या नहीं है। और मुझे मिले सभी लिंक एनपीएम का उपयोग करने का सुझाव देते हैं और wwwroot/lib/ पर फ़ाइलों को स्थानांतरित करने के लिए गल्प सेट अप करते हैं और मैंने कोशिश की लेकिन मुझे ऐसा करने में कुछ अजीब त्रुटियां मिल रही हैं।

मैं के साथ पैकेजों को स्थापित करने के लिए yarn का उपयोग कैसे कर सकता हूं जैसा मैंने bower के साथ किया था? या मुझे इसके बजाय npm का उपयोग करना चाहिए?

उत्तर

1

यार्न और एनपीएम एक ही चीज़ हैं। आप नोड पैकेजों को स्थापित करने, सटीक एक ही लक्ष्य को प्राप्त करने के लिए या तो यार्न या एनपीएम का उपयोग कर सकते हैं। यह आपके लिए पहले से किए गए बॉवर के समान है, सिवाय इसके कि बोअर ने उन्हें node_modules की बजाय अपनी प्रोजेक्ट वेब प्रॉपर्टी में जोड़ा।

वेबपैक क्लाइंट साइड वेब संपत्तियों के निर्माण के लिए पूरी तरह से एक उपकरण है और उन्हें निर्भरता के साथ बंडल करें।

यदि आपको इसकी आवश्यकता नहीं है, तो विरासत परियोजनाओं के लिए बोवर या नुजेट का उपयोग करना जारी रखें। नई परियोजनाओं के लिए, वेबपैक और यार्न/एनपीएम का उपयोग करें।

4

मेरे जैसा ही प्रश्न था और पता चला कि यार्न का उपयोग करना बहुत मुश्किल नहीं है। यहां मैं यार्न की स्थापना, विजुअल स्टूडियो 17 में ट्विक, और प्रोजेक्ट वर्कफ़्लो पर चर्चा करता हूं।

  • prequisite, Node.js:

    यार्न स्थापना

    यार्न चलाने के लिए आपको दो बातें स्थापित करने की आवश्यकता।

  • Yarn command line utility

अक्षम NPM दृश्य स्टूडियो में 2017

यार्न अपनी परियोजना, पैकेज में एक फ़ाइल का उपयोग करता है।जेसन, जो इसे स्थापित किया गया है उसका ट्रैक रखने के लिए। एनपीएम भी एक ही फाइल का उपयोग करता है। किसी भी विवाद से बचने के लिए मैंने विजुअल स्टूडियो में एनपीएम हुक को अक्षम कर दिया है। यदि सक्षम है, तो ये हुक एनपीएम को संकुल लोड करने का कारण बनेंगे जब भी पैकेज.जेसन परिवर्तन।

एनपीएम को अक्षम करने के लिए उपकरण मेनू पर जाएं और विकल्प चुनें ...। बाईं ओर के पेड़ में, परियोजनाएं और समाधान ->वेब पैकेज प्रबंधन ->पैकेज पुनर्स्थापित। छवि में

Disable NPM in Visual Studio

मैं भी बोवर के लिए हुक निष्क्रिय कर दिया है इसके बाद के संस्करण: दाईं ओर झूठी करने के लिए दोनों के विकल्प बदलकर NPM हुक को अक्षम करें। यह वैकल्पिक है - मैंने ऐसा किया ताकि गलती से बोवर किसी भी पैकेज को स्थापित न कर सके। यार्न के लिए

परियोजना सेटअप

अपनी परियोजना के साथ यार्न का उपयोग करने के आप चीजों की एक जोड़ी क्या करने की जरूरत:

  • यकीन है कि परियोजना एक package.json फ़ाइल है सुनिश्चित करें। यह परियोजना निर्देशिका के नीचे स्थित होना चाहिए।

 

{ 
} 
  • यकीन है कि वहाँ wwwroot के तहत एक lib निर्देशिका है: शुरू में फ़ाइल की सामग्री को एक खुला ब्रैकेट और करीब ब्रैकेट शामिल करना चाहिए।

    + Solution 
        + Project 
         + wwwroot 
          + lib 
         + Program.cs 
         + Startup.cs 
         + package.json 
    

    यार्न प्रयोग/परियोजना कार्यप्रवाह

    यहाँ हिस्सा आप के लिए इंतजार कर रहा है:

निम्नलिखित निर्देशिका संरचना इन दो चीजों के साथ एक उदाहरण परियोजना को दर्शाता है। पहले पैकेज प्रबंधक कंसोल खोलें। कंसोल सिर्फ वीएस के भीतर एक पावरहेल कंसोल है। खुले होने पर आप समाधान निर्देशिका में होंगे, इसलिए आपको परियोजना निर्देशिका में सीडी की आवश्यकता होगी। उसके बाद आप यार्न का उपयोग कर पुस्तकालयों जोड़ सकते हैं:

cd [project dir] 
yarn add --modules-folder=wwwroot\lib jquery 
yarn add --modules-folder=wwwroot\lib [email protected] 

संकुल अब wwwroot \ lib के तहत स्थापित कर रहे हैं, क्योंकि यह है कि जहाँ आप उन्हें स्थापित करने के लिए यार्न कह रहे हैं।

आपको लगता है कि पहले खंड बहुत ज्यादा टाइपिंग शामिल है, तो आप बनाम में एक शॉर्टकट जोड़कर बातें आसान बनाने में कर सकते हैं दृश्य स्टूडियो 2017

में एक यार्न शॉर्टकट जोड़ने जब यह स्थापित किया जाता है तो यार्न स्वचालित रूप से प्रोजेक्ट निर्देशिका से चलाया जाता है, लक्ष्य फ़ोल्डर निर्दिष्ट करता है। आपको बस इतना करना है कि यह इंस्टॉल करने के लिए कौन सा पैकेज है।

दृश्य स्टूडियो के अंदर, उपकरण>बाहरी उपकरण ... मेनू से पर क्लिक करें। पॉपअप में, क्लिक करें बटन जोड़ें और फ़ील्ड भरें इस प्रकार है:

  • शीर्षक: यार्न जोड़े
  • कमान (अपने dir अलग हो सकता है): C: \ प्रोग्राम फ़ाइलें (x86) \ यार्न \ बिन \ yarn.cmd
  • तर्क: जोड़ने --modules-फ़ोल्डर = wwwroot \ lib
  • प्रारंभिक निर्देशिका: $ (ProjectDir)

इसके अलावा वें सक्षम ESE चेक बॉक्स: आउटपुट विंडो

  • उपयोग तर्क

शॉर्टकट को बचाने के लिए ठीक बटन पर क्लिक करें के लिए

  • शीघ्र।

    तो अब आपके पास यार्न आइटम उपकरण मेनू के अंतर्गत होना चाहिए। इस पर क्लिक करें और आप इनपुट तर्क के लिए पूछ एक पॉपअप मिल जाएगा:

    Yarn Popup

    आपको बस इतना करना है पहले संपादन बॉक्स पर क्लिक करें और अपने पैकेज को जोड़ने है। उदाहरण के लिए, jQuery जोड़ने के लिए:

    Yarn Add JQuery

    क्लिक करें पॉपअप पर ठीक और यार्न अपना जादू काम करते हैं और अपने पैकेज स्थापित करना चाहिए।

    अन्य विचार

    • मैं नोड विकास नहीं करते हैं, तो मैं नहीं माना जाता है कि यह कैसे ऊपर को प्रभावित करेंगे। जो लोग नोड विकास करते हैं, उनके लिए प्रयास करने के लिए यार्न का उपयोग node_npm फ़ोल्डर में संकुल को संस्थापित करने के लिए किया जाएगा और देखें कि चीजें काम करती हैं या नहीं।
    • मुझे संदेह है कि वर्तमान में ऐसे पैकेज हैं जो बोवर स्थापित कर सकते हैं यार्न नहीं कर सकते हैं। उम्मीद है कि समय के साथ, यह अंतर narrows।
  • संबंधित मुद्दे