ASP.NET 4.5 प्रोजेक्ट के लिए विज़ुअल स्टूडियो 2015 के साथ ग्रन्ट, बोवर, गल्प, एनपीएम का उपयोग करना


90

Visual Studio 2015 ASP.NET 5 परियोजनाओं के लिए ग्रंट, बोवर, गल्प और एनपीएम जैसे उपकरणों के समर्थन में बनाया गया है।

हालाँकि जब मैं Visual Studio 2015 का उपयोग करके ASP.NET 4.5.2 प्रोजेक्ट बनाता हूँ तो यह इन उपकरणों का उपयोग नहीं करता है। मैं क्लाइंट साइड पैकेज को प्रबंधित करने के लिए नगेट के बजाय बोवर का उपयोग करना चाहता हूं।

मैं विज़ुअल स्टूडियो 2013 के साथ इन टूल का उपयोग करने के बारे में जानकारी पा सकता हूं ( उदाहरण के लिए यह प्रश्न देखें )। लेकिन मुझे लगता है कि विजुअल स्टूडियो 2015 के लिए प्रक्रिया अलग है क्योंकि यह इन उपकरणों के समर्थन में बनाया गया है।

जवाबों:


128

जबकि Liviu Costea का उत्तर सही है, फिर भी मुझे यह पता लगाने में काफी समय लगा कि यह वास्तव में कैसे किया जाता है। तो यहाँ एक नया ASP.NET 4.5.2 MVC प्रोजेक्ट से शुरू होने वाला मेरा चरण-दर-चरण गाइड है। इस गाइड में बोवर का उपयोग करके क्लाइंट-साइड पैकेज प्रबंधन शामिल है लेकिन (अभी तक) बंडलिंग / ग्रंट / गल्प को कवर नहीं करता है।

चरण 1 (प्रोजेक्ट बनाएं)

Visual Studio 2015 के साथ एक नया ASP.NET 4.5.2 प्रोजेक्ट (MVC टेम्पलेट) बनाएँ।

चरण 2 (प्रोजेक्ट से बंडलिंग / ऑप्टिमाइज़ेशन निकालें)

चरण 2.1

निम्नलिखित Nuget संकुल अनइंस्टॉल करें:

  • बूटस्ट्रैप
  • Microsoft.jQuery.Unobstrusive.Validation
  • jQuery.Validation
  • jQuery
  • Microsoft.AspNet.Web.Optimization
  • WebGrease
  • antlr
  • Modernizr
  • जवाब

चरण २.२

App_Start\BundleConfig.csप्रोजेक्ट से निकालें ।

चरण 2.3

हटाना

using System.Web.Optimization;

तथा

BundleConfig.RegisterBundles(BundleTable.Bundles);

से Global.asax.cs

चरण २.४

हटाना

<add namespace="System.Web.Optimization"/>

से Views\Web.config

चरण 2.5

के लिए System.Web.Optimizationऔर WebGreaseसे विधानसभा बाइंडिंग निकालेंWeb.config

चरण 3 (प्रोजेक्ट के लिए बोवर जोड़ें)

चरण 3.1

package.jsonप्रोजेक्ट ( NPM configuration fileआइटम टेम्पलेट) में नई फ़ाइल जोड़ें

चरण 3.2

जोड़े bowerको devDependencies:

{
  "version": "1.0.0",
  "name": "ASP.NET",
  "private": true,
  "devDependencies": {
    "bower": "1.4.1"
  }
}

package.jsonसहेजने पर बोवर पैकेज स्वचालित रूप से स्थापित हो जाता है।

चरण 4 (कॉन्फ़िगर बोवर)

चरण 4.1

bower.jsonप्रोजेक्ट ( Bower Configuration fileआइटम टेम्पलेट) में नई फ़ाइल जोड़ें

चरण 4.2

जोड़े bootstrap, jquery-validation-unobtrusive, modernizrऔर respondनिर्भरता के लिए:

{
  "name": "ASP.NET",
  "private": true,
  "dependencies": {
    "bootstrap": "*",
    "jquery-validation-unobtrusive": "*",
    "modernizr": "*",
    "respond": "*"
  }
}

ये पैकेज और उनकी निर्भरता bower.jsonसहेजे जाने पर स्वचालित रूप से स्थापित हो जाते हैं ।

चरण 5 (संशोधित करें Views\Shared\_Layout.cshtml)

चरण 5.1

बदलने के

@Styles.Render("~/Content/css")

साथ में

<link rel="stylesheet" href="~/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Content/Site.css" />

चरण 5.2

बदलने के

@Scripts.Render("~/bundles/modernizr")

साथ में

<script src="~/wwwroot/lib/modernizr/modernizr.js" ></script>

चरण 5.3

बदलने के

@Scripts.Render("~/bundles/jquery")

साथ में

<script src="~/wwwroot/lib/jquery/dist/jquery.min.js"></script>

कदम 5.4

बदलने के

@Scripts.Render("~/bundles/bootstrap")

साथ में

<script src="~/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="~/wwwroot/lib/respond/dest/respond.min.js"></script>

चरण 6 (अन्य स्रोतों को संशोधित करें)

अन्य सभी दृश्यों की जगह

@Scripts.Render("~/bundles/jqueryval")

साथ में

<script src="~/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

उपयोगी कड़ियाँ


बंडलिंग और छोटा करना

नीचे टिप्पणी में LavaHot सिफारिश की गई है Bundler और minifier विस्तार डिफ़ॉल्ट बंडलर जो मैं कदम 2. उन्होंने यह भी सिफारिश की गई है में हटाने के लिए एक स्थानापन्न के रूप में इस लेख Gulp के साथ बांध दिया पर।


6
आपका बहुत बहुत धन्यवाद। क्या मैं सही हूं कि एक चरण छूट गया है: ~ / wwwroot से /../bower_compenders (या gulp / ग्रंट कॉन्‍फ़िगरेशन मैप करने के लिए कैसे करें "bower package" ~ / wwwroot "पर जाने के लिए) क्या आप इस चरण को जोड़ सकते हैं और वर्णन कर सकते हैं कि आप कैसे होंगे? VS2015 वातावरण में IIS एक्सप्रेस के साथ चलाने के लिए js / css कोड की व्यवस्था करने की सलाह देते हैं?
रोमन पोक्रोव्स्किज

जब आप bower.jsonVisual Studio 2015 के माध्यम से एक फ़ाइल बनाते हैं , तो यह स्वचालित रूप से एक bowerrcफ़ाइल भी बनाएगा , जो कि bower स्थापित bower_componentsकरने के लिए डिफ़ॉल्ट स्थान को ओवरराइड करता हैwwwroot/lib
Sagebrush GIS

1
तो यह पता चला है कि बंडलिंग मेरे लिए काफी उपयोगी है। अब जब आपने डिफ़ॉल्ट बंडल को हटा दिया है, तो मैं इसे बदलने के लिए Bundler & Minifier की सिफारिश करना चाहूंगा । यह टास्क रनर एक्सप्लोरर का उपयोग करता है और इसमें npm और bower के समान कॉन्फ़िगरेशन फ़ाइल होती है। यह वेब एसेंशियल का भी एक हिस्सा है, इसलिए हो सकता है कि आपने पहले ही इसे स्थापित कर लिया हो।
लावाहोट

1
यहाँ विषय पर एक अच्छा लेख है गुल के साथ बंडल करने के लिए।
लावाहोट

1
Detailled जानकारी @SagebrushGIS के लिए धन्यवाद! मैं अपने एमवीसी प्रोजेक्ट में बोवर पैकेज प्रबंधन को जोड़ने के तरीके की भी जांच कर रहा हूं। मैंने VS2015 के माध्यम से bower.json को जोड़ा है, लेकिन मैं उस bowerrc फ़ाइल को नहीं देख रहा हूँ जिसके बारे में आप बात कर रहे हैं। कोई भी चरण जो मुझे याद आ रहा है या मुझे यह फ़ाइल कहां मिलनी चाहिए? अब तक के काम के रूप में, मैं उपयोग करता हूं: <लिंक rel = "स्टाइलशीट" href = "~ / bower_compenders / bootstrap / dist / css / bootstrap.min.css" />
Guido Kersten

4

यह वास्तव में बहुत अलग नहीं है। यह सिर्फ इतना है कि विजुअल स्टूडियो के अंदर इन सभी के लिए बेहतर समर्थन है, उदाहरण के लिए जब आप नए आइटम जोड़ते हैं तो आपके पास बोवर या एनआईएफ कॉन्फ़िगरेशन फ़ाइलों के लिए टेम्पलेट होते हैं। इसके अलावा आपके पास gulp या ग्रंट कॉन्फ़िगरेशन फ़ाइलों के लिए टेम्प्लेट हैं।
लेकिन वास्तव में grunt / gulp कार्यों की कॉलिंग और घटनाओं को बनाने के लिए उन्हें अभी भी वीएस 2013 की तरह टास्क रनर एक्सप्लोरर के साथ किया जाता है।


मुझे लगता है कि मैं अभी भी नहीं देखता कि आप वीएस में एनपीएम पैकेज कैसे स्थापित करते हैं। हर बार जब मैं एक .npm को स्थापित करने की कोशिश करता हूं, तो यह कहता है कि मेरा प्रोजेक्ट नोड या जो कुछ भी नहीं है
मास्ट्रो

आपको पहले पैकेज को रूट फ़ोल्डर में बनाना है। मैं आमतौर पर csproj फ़ाइल के भाई के रूप में लक्ष्य परियोजना की जड़ में बनाता हूं। उसके बाद, आप npm कमांड
रोमन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.