我有困難得到ScriptBundle
正常工作(如果這是應該在所有的工作)。我正在試圖做的是作爲一個依賴再添束(jQuery的)我的包,像這樣:ScriptBundle依賴性
bundles.Add(new ScriptBundle("~/js/myscripts")
.Include("~/js/jquery",
"~/Content/scripts/myscript.js"));
~/js/jquery
是jQuery的包的「名」(虛擬路徑),登記爲(之前我的依賴包):
bundles.Add(new ScriptBundle("~/js/jquery")
.Include("~/Content/scripts/jquery-{version}.js"));
當我在我看來做@Scripts.Render("~/js/myscripts")
,只有myscript.js
呈現到HTML。如果我從一個在束物理的名稱,現有一個改變jQuery的虛擬路徑,它的工作原理:
bundles.Add(new ScriptBundle("~/js/myscripts")
.Include("~/Content/scripts/jquery-{version}.js",
"~/Content/scripts/myscript.js"));
而且,在視圖中做@Scripts.Render("~/js/jquery")
,工作。它只是引用不存在的另一個ScriptBundle
的不存在的虛擬路徑(名稱)。這應該工作嗎?如果不是,我想知道我可以在哪裏發佈錯誤報告,說如果不支持這種情況,這種情況應該會引發異常。如果支持,它說什麼,爲什麼它不工作?
我不希望兩個條目在我的視圖中,我想要一個,用於'〜/ js/myscripts'。這是可能的,如果我包含'物理路徑到jQuery,但不包括'包含'虛擬路徑(用於jQuery的包名稱)。 –
啊,我幫你。這不是捆綁的問題。您不能在捆綁包中包含捆綁包路徑。這不是我的電話,但是當/如果你用微軟登錄這個,我會說這是一個功能請求。通常我有一個單獨的jquery包(包括一些其他不經常變化的js),然後是其他js包。適用於瀏覽器緩存。在一個側面說明,有你看着requireJS,這是不是真的需要,如果要捆綁一切,但它確實使你的js文件更好地記錄,因爲它使依賴關係明確。 – dove
這是一個不受支持的方案不會拋出異常時的錯誤。虛擬路徑的所有其他錯誤拼寫,對不存在的文件的引用等都會拋出異常,所以這也應該如此。是啊,我使用RequireJS在我的很多項目,但是這一次是如此簡單,我想擁有jQuery和捆綁成一個單一的'.js'文件我自己的JS。 –