Javascript捆绑在另一个文件夹中

时间:2014-12-13 15:32:08

标签: asp.net-mvc bundling-and-minification asp.net-bundling

如何让JavaScript捆绑工作从另一个文件夹(除了Script文件夹)。如果我这样做:

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

浏览器告诉我无法找到javascript文件。是否有可能做到这一点 或者我的所有标记都必须在Scripts文件夹中?

基本上我希望我的Javascript包含在我的View子文件夹中

3 个答案:

答案 0 :(得分:3)

您需要根据以下答案更改web.config文件夹中的ViewsIn ASP.NET MVC, how can I load script from my view folder?

Ashley Lee的好榜样:

<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>

答案 1 :(得分:1)

由于您特别想要只包含javascript文件,因此请添加“JavascriptViewHandler”部分,对~/Views/web.config文件进行以下更改。

<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文件的所有当前阻止。

答案 2 :(得分:0)

我不知道我是否正确理解了您的问题,但如果您想使用视图中任何文件夹中的脚本文件或最好使用它的布局,您可以在{\ n}中添加以下标记{1}}或<head>的{​​1}}部分:

View

您可以提及脚本文件的完整路径,而不是_Layout.cshtml