当前位置: 首页 > 编程语言 > C#

在缩小javascript时,System.Web.Optimization会更改js文件的顺序分享

时间:2023-04-10 16:35:46 C#

C#学习教程:System.Web.Optimization在javascript收缩时会改变js文件的顺序我观察到一个非常具体的行为,我已经在使用IBundleOrderer,当我不缩小文件时,它可以很好地保留文件顺序}}publicstaticvoidRegisterTestingBundle(BundleCollectionbundle){varbundle=newScriptBundle("~/OnTheMoveWebFiles/bundles/Testing");bundle.Orderer=newRespectGivenBundleOrder();bundle.Include(string.Format("{0}jquery-{{version}}.js",baseJSFolder),string.Format("{0}ua-parser.js",baseJSFolder),string.Format("{0}OnTheMove_Core.js",baseJSFolder),string.Format("{0}OnTheMove_TheApplication.js",baseJSFolder),string.Format("{0}OnTheMove_JQMQueryString.js",baseJSFolder),string.Format("{0}OnTheMove_OfflineAuditing.js",baseJSFolder),string.Format("{0}OnTheMove_DatabaseManager.js",baseJSFolder),string.Format("{0}OnTheMove.js",baseJSFolder),string.Format("{0}OnTheMove_Offline.js",baseJSFolder),string.Format("{0}OnTheMove_DatabaseLoader.js",baseJSFolder),字符串.Format("{0}OnTheMove_DatabaseTestHelper.js",baseJSFolder),string.Format("{0}OnTheMove_SmartScriptPlayer.js",baseJSFolder),string.Format("{0}jasmine.js",baseJSFolder),string.Format("{0}jasmine-html.js",baseJSFolder),string.Format("{0}jasmine-jquery-{{version}}.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-GenericMocksAndHelpers.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-DatabaseManager-SiebelToSQL-Tests.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-TreeValidator-Tests.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-GlobalFunction-Tests.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-OnTheMove_BusinessComponent-Tests.js",baseJSFolder),字符串.Format("{0}jasmine-OnTheMove_DatabaseTestHelper-Tests.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove_OfflineAuditing-Tests.js",baseJSFolder),string.Format("{0}jasmine-OnTheMove-JQueryExtension-Tests.js",baseJSFolder));捆绑。添加(捆绑);但是当我开始缩小时,我得到了javascript错误,并且通过在chrome开发人员工具中检查缩小文件的开头,我可以立即看到订单被弄乱了在我执行varcont=newBundleResolver(BundleTable.Bundles).GetBundleContents("~/OnTheMoveWebFiles/bundles/Testing")时窗口中我得到Count=23[0]:"~/OnTheMoveWebFiles/js/jquery-1.7.1.js"[1]:"~/OnTheMoveWebFiles/js/ua-parser.js"[2]:"~/OnTheMoveWebFiles/js/OnTheMove_Core.js"[3]:"~/OnTheMoveWebFiles/js/OnTheMove_TheApplication.js"[4]:"~/OnTheMoveWebFiles/js/OnTheMove_JQMQueryString.js"[5]:"~/OnTheMoveWebFiles/js/OnTheMove_OfflineAuditing.js"[6]:"~/OnTheMoveWebFiles/js/OnTheMove_DatabaseManager.js"[7]:"~/OnTheMoveWebFiles/js/OnTheMove.js"[8]:"~/OnTheMoveWebFiles/js/OnTheMove_Offline.js"[9]:"~/OnTheMoveWebFiles/js/OnTheMove_DatabaseLoader.js"[10]:"~/OnTheMoveWebFiles/js/OnTheMove_DatabaseTestHelper.js"[11]:"~/OnTheMoveWebFiles/js/OnTheMove_SmartScriptPlayer.js"[12]:"~/OnTheMoveWebFiles/js/jasmine.js"[13]:"~/OnTheMoveWebFiles/js/jasmine-html.js"[14]:"~/OnTheMoveWebFiles/js/jasmine-jquery-1.7.0.js"[15]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-GenericMocksAndHelpers.js"[16]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-DatabaseManager-SiebelToSQL-Tests.js"[17]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-TreeValidator-Tests.js"[18]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-GlobalFunction-Tests.js"[19]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-OnTheMove_BusinessComponent-Tests.js"[20]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove_DatabaseTestHelper-Tests.js"[21]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove_OfflineAuditing-Tests.js"[22]:"~/OnTheMoveWebFiles/js/jasmine-OnTheMove-JQueryExtension-Tests.js"这表明订单正在保存,但是当我动态缩小它时(varcontents=BundleManager.GetBundleContents("~/OnTheMoveWebFiles/bundles/Testing");)我得到“functionTheApplication(){returnwindow.onTheMove.theApplication}functiondecodeQueryString(n,t,i,r){varf,u={},s,h,e,o;if(i||(i=function(){return}),...开始时是OnTheMove_TheApplication.js,而不是我期待的jquery-1.7.1.js。我看到的一个解决方案是将它分成更多的包并尝试以这种方式处理它。为什么minifier不保留顺序?我的期望错了吗?我通过创建一个扩展来解决这个问题:}}内部静态类BundleExtensions{publicstaticBundleForceOrdered(thisBundlesb.Order){ersb=newAsIsBundleOrderer();返回某人;然后,你就可以注册你的bundle以上是C#学习教程:minifyingjavascript时,System.Web.Optimization会改变js文件的顺序很有用,需要多了解C#学习教程,希望大家多多付出注意-bundles.Add(newScriptBundle("~/bundles/home").Include("~/Scripts/leaflet-0.6.4.js").Include("~/Scripts/oms.js").Include("~/Scripts/home.js").ForceOrdered());本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: