【ASP.NET C#】Vue.js나 기타 javascript 라이브러리를 Debug와 Release로 자동으로 전환하는 올바른 방법

경위



ASP.NET Web Application에서 디폴트의 Site.Master에 이런 느낌에 걸려 있었기 때문에, 다른 라이브러리로 하는 방법을 찾고 있었다.
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="bootstrap" />

검색하면 자력으로 전환하고 있는 사람 등 있었으므로, Microsoft 블로그 대로, 이런 느낌으로 어떨까요.
어, 상식?
라고 말하는지, 영어의 메뉴얼 읽으면, 처음부터 써 있는 간단한 일이었습니다.

ASP.NET Web Forms를 사용하는 방법


  • Nuget에서 vue.js 또는 원하는 라이브러리를 설치하거나 Scripts에 직접 넣습니다. (뭐든지 좋지만)
  • Global.asax의 Application_Start에 설명되어 있습니다. (버전 번호를 변수로 설정하는 것이 더 스마트 할 수 있습니다.)
  • ScriptResourceDefinition scriptRefVue = new ScriptResourceDefinition();
    scriptRefVue.Path = "~/Scripts/vue.min.js"; // リリース用
    scriptRefVue.DebugPath = "~/Scripts/vue.js"; // デバッグ用
    scriptRefVue.CdnPath = "https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"; // CDNのリリース用
    scriptRefVue.CdnDebugPath = "https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"; // CDNのデバッグ用
    ScriptManager.ScriptResourceMapping.AddDefinition("vue", null, scriptRefVue); // ここで指定した名前がマッピングされる
    
  • Site.Master의 ScriptManager 태그에 추가
  • <asp:ScriptReference Name="vue" />
    

    나왔다!



    ASP.NET MVC의 경우



    ASP.NET MVC라면, APP_Start.BundleConfig.cs에 1개 쓸 뿐이라고 한다. 폴더에 min.js가 있으면, 릴리스시에 그쪽을 봐 준다든가.
    편리한 세상이 된 것.
    bundles.Add(new ScriptBundle("~/bundles/vue").Include(
                            "~/Scripts/vue.js"));
    
    

    _Layout.cshtml 역시 한 줄
    @Scripts.Render("~/bundles/vue")
    

    좋은 웹페이지 즐겨찾기