2014-12-04 3 views
1

저는 ASP.net MVC 및 AngularJs를 사용하여 개발 한 응용 프로그램을 개발했습니다. 그것은 SPA 애플 리케이션이 아니에요. 번들 및 내 JS 파일의 minification 할 필요가있다. 나는 "레이아웃 페이지"에서 그것을하는 방법을 알고. 그게이 Bundling and Minification 자습서를 사용했습니다.각 * .cshtml 페이지의 Minification JS 파일

하지만 내 질문은 어떻게하면 * .cshtml 페이지마다 JS 파일을 축소 할 수 있습니까? 디버깅을 할 때 JS 파일이 손상되지 않도록해야합니다. 그럴 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

여기 JS 파일이 페이지의 맨 아래에있는 "index.cshtml"페이지입니다.이 js 파일을 축소하고 싶습니다.

//removed html code for clarity 
<script type="text/javascript" src="/Resources/js/controllers/MyTestController.js"> </script> 
+0

이 튜토리얼에서는 'ScriptBundle'을 만들고이를 페이지에 포함하는 방법을 보여줍니다. 어떤 부분을 이해하지 못하니? (그리고 모든 페이지에 그것을 원한다면 레이아웃 페이지에 넣으십시오. 한번만 포함하면됩니다.) –

+0

@StephenMuecke No.이 각도 컨트롤러 JS 파일을 레이아웃 페이지에 놓으면 작동하지 않습니다. * .cshtml 페이지마다로드해야합니다. 그렇지 않으면 컨트롤러를 바인드하지 않습니다. 레이아웃 페이지에 다른 모든 js 파일을 넣고 잘 작동합니다. 문제는 페이지 레벨 js 파일에서 축소를 수행하는 방법입니다. – Sampath

+0

전혀 다르지 않습니다. 이 파일을 포함하는 새로운'ScriptBundle' 파일을 만든 다음, 페이지에 @ Scripts.Render ("~/bundles/yourFile")'를 추가하십시오. –

답변

2

, •

@Scripts.Render("~/bundles/yourFile") 
0

1. 한 Nuget 패키지를 설치하기 위해 신규 ScriptBundleBundleConfig.cs

bundles.Add(new ScriptBundle("~/bundles/yourFile").Include(
    "..." // your file(s) 
)); 

과의 추가 설치 - 패키지 Microsoft.AspNet.Web.Optimization
2.Create a를 BundleConfig 클래스 및 번들 정의 :

using System.Web.Optimization; 
public class BundleConfig 
{ 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/js").Include(
        "~/Scripts/*.js")); 
     bundles.Add(new StyleBundle("~/bundles/css").Include(
        "~/Styles/*.css")); 
    } 
} 

응용 프로그램 내에서 BundleConfig 클래스는 Global.asax에 HTML 문서에서 번들 4.reference

void Application_Start(object sender, EventArgs e) 
{ 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
} 

을 시작 3.Register.
5. 디버그 모드를 비활성화하여 번들링을 활성화합니다.
참조 소스 : Bundling and minification without ASP.NET MVC