高手速來圍觀幫忙解惑~關(guān)于ASP.NET MVC Bundling and RequireJS的取舍問題,最近比較困惑,我希望有一種方式可以結(jié)合兩者的優(yōu)點(diǎn)。作為.NET程序員,難道你沒有過這方面的困惑嗎?
因?yàn)槲腋杏X各自都有優(yōu)缺點(diǎn),RequireJS的缺點(diǎn)在于,在開發(fā)的時(shí)候,你不能引入壓縮后的js或者css,否則無法調(diào)試和修改,而Bundling的話debug模式默認(rèn)情況下是不壓縮,你一發(fā)布到生產(chǎn)成release就自動(dòng)壓縮,調(diào)試起來非常方便。RequireJS的優(yōu)點(diǎn)在于可以異步按需加載,還有就是模塊化js代碼,而Bundling 則是簡單粗暴的全部合并成一個(gè)文件進(jìn)行加載,你看不出模塊化引用也實(shí)現(xiàn)不了按需加載, 那么在開發(fā)過程中作為.NET程序員是如何取舍的呢?能不能結(jié)合二者的優(yōu)點(diǎn)來使用呢?
目標(biāo):在ASP.NET MVC項(xiàng)目中實(shí)現(xiàn)js和css的模塊化,并支持壓縮合并。
如果你跟我說你還不知道RequireJS是個(gè)神馬冬冬?請(qǐng)移步至:http://requirejs.org/docs/api.html
項(xiàng)目目錄結(jié)構(gòu)沿用上一篇ASP.NET MVC 重寫RazorViewEngine實(shí)現(xiàn)多主題切換
方式一 Bunding+RequireJS混用
先來看看一個(gè)老外的做法,他大體上是這樣做的:
Bundling部分
App_Start/BundleConfig.cs:
bundles.Add(new ScriptBundle("~/bundles/test").Include( "~/Scripts/jquery-{version}.js", "~/Scripts/q.js",