ASP.NET 4.5 프로젝트를 위해 Visual Studio 2015와 함께 Grunt, Bower, Gulp, NPM 사용


90

Visual Studio 2015는 ASP.NET 5 프로젝트 용 Grunt, Bower, Gulp 및 NPM과 같은 도구를 기본적으로 지원합니다.

그러나 Visual Studio 2015를 사용하여 ASP.NET 4.5.2 프로젝트를 만들 때 이러한 도구를 사용하지 않습니다. 클라이언트 측 패키지를 관리하기 위해 nuget 대신 bower를 사용하고 싶습니다.

Visual Studio 2013에서 이러한 도구를 사용하는 방법에 대한 정보를 찾을 수 있습니다 ( 예 : 질문 참조 ). 그러나 Visual Studio 2015에서는 이러한 도구에 대한 지원이 내장되어 있기 때문에 절차가 다른 것 같습니다.

답변:


128

Liviu Costea의 대답 은 정확 하지만 실제로 어떻게 수행되는지 알아내는 데는 여전히 상당한 시간이 걸렸습니다. 그래서 여기에 새로운 ASP.NET 4.5.2 MVC 프로젝트에서 시작하는 단계별 가이드가 있습니다. 이 가이드에는 bower를 사용한 클라이언트 측 패키지 관리가 포함되어 있지만 번들링 / grunt / gulp에 대해서는 아직 다루지 않습니다.

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
  • Web 그리스
  • Antlr
  • 모 더니 저
  • 응창 성가

2.2 단계

App_Start\BundleConfig.cs프로젝트에서 제거하십시오 .

2.3 단계

풀다

using System.Web.Optimization;

BundleConfig.RegisterBundles(BundleTable.Bundles);

...에서 Global.asax.cs

2.4 단계

풀다

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

bower 패키지 package.json는 저장 시 자동으로 설치됩니다 .

4 단계 (바위 구성)

4.1 단계

bower.json프로젝트에 새 파일 추가 ( Bower Configuration file항목 템플릿)

4.2 단계

추가 bootstrap, jquery-validation-unobtrusive, modernizrrespond의존성에 :

{
  "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 는 2 단계에서 제거하는 기본 번 들러 의 대체물로 Bundler & Minifier 확장 을 권장 합니다 .


6
대단히 감사합니다. 한 단계를 놓친 것이 맞습니까? ~ / wwwroot를 /../bower_components에 매핑하는 방법 (또는 gulp / grunt 구성에서 bower 패키지를 "~ / wwwroot"로 이동하는 방법)이 단계를 추가하고 방법을 설명 할 수 있습니까? VS2015 환경에서 IIS Express로 실행하기 위해 js / css 코드를 정렬하는 것이 좋습니다.
Roman Pokrovskij

당신이 만들 때 bower.json비주얼 스튜디오 2015 파일을가 자동으로 생성됩니다 bowerrc에서 이물이 설치하는 기본 위치를 무시 아니라 파일 bower_componentswwwroot/lib
쑥의 일종 GIS

1
그래서 번들링이 나에게 매우 유용하다는 것이 밝혀졌습니다. 이제 기본 번 들러제거 했으므로 Bundler & Minifier 를 교체 하도록 권장하고 싶습니다 . Task Runner Explorer를 사용하며 npm 및 bower와 유사한 구성 파일이 있습니다. Web Essentials의 일부이기도하므로 이미 설치했을 수 있습니다.
LavaHot

1
다음 은 꿀꺽 꿀꺽 묶음으로 묶을 주제에 대한 멋진 기사입니다.
LavaHot

1
자세한 정보 @SagebrushGIS에 감사드립니다! 또한 MVC 프로젝트에 Bower 패키지 관리를 추가하는 방법도 조사 중입니다. VS2015를 통해 bower.json을 추가했지만 당신이 말하는 bowerrc 파일이 보이지 않습니다. 누락 될 수있는 단계가 있거나이 파일을 어디에서 찾을 수 있습니까? 지금은 해결 방법으로 다음을 사용합니다. <link rel = "stylesheet"href = "~ / bower_components / bootstrap / dist / css / bootstrap.min.css"/>
Guido Kersten

4

실제로 너무 다르지 않습니다. 예를 들어 새 항목을 추가 할 때 bower 또는 npm 구성 파일에 대한 템플릿이있는 경우와 같이 Visual Studio 내부에서 이러한 모든 기능을 더 잘 지원할 수 있습니다. 또한 gulp 또는 grunt 구성 파일에 대한 템플릿이 있습니다.
그러나 실제로 grunt / gulp 작업을 호출하고 빌드 이벤트에 바인딩하는 작업은 VS 2013에서와 마찬가지로 Task Runner Explorer를 사용하여 수행됩니다.


도구가 설치된 상태에서 VS에 npm 패키지를 설치하는 방법이 여전히 보이지 않습니다. 내가 설치 .npm을 시도 할 때마다 내 프로젝트 노드의 설치 또는 무엇이든 아닙니다 말한다
Mastro

먼저 루트 폴더에 package.json을 만들어야합니다. 나는 일반적으로 대상 프로젝트의 루트에서 csproj 파일의 형제로 만듭니다. 그런 다음 npm 명령을 사용할 수 있습니다
Roman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.