運行我BundleConfig.cs簡單地包括腳本C#MVC StyleBundle和ScriptBundle如果項目在子目錄
bundles.Add(new ScriptBundle("~/bundles/ui-scripts").Include(
"~/Scripts/ui-scripts.js"));
在我的區域的機器有這樣的代碼不正確的渲染路徑(http://localhost:57210/)這呈現爲
<script src="/Scripts/ui-scripts.js"></script>
本地所有工作正常。
的問題是,我們有上團隊市在項目下的子文件夾 (http://testserver.com/myApp/)運行運行測試服務器,但呈現的輸出是一樣的
<script src="/Scripts/ui-scripts.js"></script>
導致UI的腳本的.js無法加載(404),因爲它試圖從http://testserver.com/Scripts/ui-scripts.js加載腳本這當然是不存在的,因爲腳本是在http://testserver.com/對myApp /Scripts/ui-scripts.js
我預想的框架意識到〜指向的項目,在我的情況是http://testserver.com/myApp/
如果我能優化
BundleTable.EnableOptimizations = true;
輸出呈現優化的根源,但仍錯誤的位置,再次錯過了對myApp子
<script src="/bundles/ui-scripts?v=mRQZjAGbYccSwhcFn4iouztfiK3Xjwik5TtdvD58fHM1"></script>
此外, 如果我不使用捆綁,而是在_Layout.cshtml,我想劇本出現,在這樣
<script src="~/Scripts/ui-scripts.js"></script>
然後路徑在服務器上正確識別的代碼編寫到
<script src="/myApp/Scripts/ui-scripts.js"></script>
此外, 如果我創建在我的本地和存儲應用程序有子目錄,路徑正確解析。
StyleBundle也出現同樣的問題。任何想法我可以嘗試?