6

我怎樣才能從另一個文件夾(除了腳本文件夾)工作的JavaScript捆綁。如果我這樣做:Javascript捆綁在另一個文件夾

bundles.Add(new ScriptBundle("~/bundles/search").Include("~/Views/Search/*.js")); 

瀏覽器告訴我JavaScript文件找不到。是否有可能做到這一點 或我的所有腳鐐必須在腳本文件夾?

基本上我想包括在我查看子文件夾我的JavaScript

+0

你爲什麼要這樣做?腳本出現在腳本文件夾中是有原因的。組織。 – Trucktech 2014-12-13 17:37:50

+2

組織的概念對每個人都不同。有些人喜歡用顏色組織,有些人喜歡用字母表來組織,...我希望我的javascript和View一樣在他們將要使用的文件夾中。 – PoeHaH 2014-12-13 18:16:56

+0

我建議在根文件夾中使用「assets」文件夾。我通常使用「assets/css」,「assets/scss」,「assets/js」和「assets/images」。 – janhartmann 2014-12-16 07:10:26

回答

3

您需要根據這個答案Views文件夾中更改web.configIn ASP.NET MVC, how can I load script from my view folder?

很好的例子,從阿什利李:

<system.webServer> 
    <handlers> 
    <add name="JavascriptViewHandler" path="*.js" verb="*" 
     preCondition="integratedMode" type="System.Web.StaticFileHandler" /> 
    <remove name="BlockViewHandler"/> 
    <add name="BlockViewHandler" path="*" verb="*" 
     preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 
+0

你應該在這裏回答問題的相關部分(而不是引用另一個來源)。有一個堆棧溢出關閉的原因只是爲了這個越界。這就是Stack Overflow的工作原理。 – jww 2014-12-21 08:43:48

+0

非常感謝!爲我節省了很多時間。 – user3413723 2017-12-01 14:23:42

0

我不知道我是否正確理解了你的問題,但是如果你想使用視圖中的任何文件夾或最好是它的佈局中的腳本文件,你可以添加在你<head>部分下面的標記View_Layout.cshtml

<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script> 

你可以提你的腳本文件,而不是~/Scripts/jquery-ui.min.js

1

的完整路徑因爲你特別希望僅包括JavaScript文件,進行以下更改您的~/Views/web.config文件,通過添加「JavascriptViewHandler」部分。

<system.webServer> 
    <handlers> 
    <add name="JavascriptViewHandler" path="*.js" verb="*" 
     preCondition="integratedMode" type="System.Web.StaticFileHandler" /> 
    <remove name="BlockViewHandler"/> 
    <add name="BlockViewHandler" path="*" verb="*" 
     preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 

這將保留所有當前阻止的非JavaScript文件。

相關問題