_layout.cshtml 파일에서 이와 비슷한 코드가 있습니다. 사이트의 js 파일 목록은 사이트를 재설정하거나 다시 컴파일하지 않고도 정의 할 수 있습니다.
@{
//combine all JS files into one file using Rejuicer.
List<string> JsFiles = new List<string>();
//define list of JS files here
JsFiles.Add("~/Scripts/One.js");
JsFiles.Add("~/Scripts/Two.js");
if (System.Web.HttpContext.Current.Application["JsFileListing"] != null)
{
var JsFileRejuiced = (List<string>)System.Web.HttpContext.Current.Application["JsFileListing"];
//check if we have any new/removed/renamed files
if (JsFiles.Except(JsFileRejuiced).Count()> 0 || JsFileRejuiced.Except(JsFiles).Count() > 0)
{
//force application reset
HttpRuntime.UnloadAppDomain();
}
}
if (System.Web.HttpContext.Current.Application["JsFileListing"] == null)
{
var Combiner = Rejuicer.OnRequest.ForJs("~/Combined.js").Combine;
foreach (var file in JsFiles)
{
Combiner.File(file);
}
Combiner.Configure();
System.Web.HttpContext.Current.Application["JsFileListing"] = JsFiles;
}
}
@Rejuicer.Rejuiced.JsFor("~/Combined.js")
나는 web.config 아이디어를 생각했지만 거기에 js 파일을 나열하는 것에 다소 이상하다고 느꼈다. – MakkyNZ
질문에 대한 업데이트를 알리는 지 확실하지 않지만 가능한 해결책을 추가했으며 생각을 알고 싶습니다. – MakkyNZ
위 샘플은 파일 수만 비교합니다. 파일 추가 또는 제거에 대해 다룹니다. 그러나 특정 js 파일의 내용은 변경되지 않습니다. 앱을 재설정 할 때 주된 관심사는 무엇인지 설명해 주시겠습니까? 일반적으로 이것은 프로덕션에서는 흔하지 않으며 dev에서 재설정은 큰 문제가 아닙니다. 나는 개인적으로 개발 시간 'juicing'을 선호한다! –