Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript bundling in another folder

How can I have JavaScript bundling working from another folder (aside from the Script folder). If I do this:

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

The browser tells me the javascript file can't be found. Is it possible to do this or do all my sripts have to be in the Scripts folder?

Basically I want my Javascript included in my View subfolders

like image 221
PoeHaH Avatar asked Dec 13 '14 15:12

PoeHaH


2 Answers

You need to change web.config in Views folder according this answer: In ASP.NET MVC, how can I load script from my view folder?

Good example from 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>
like image 145
offi Avatar answered Nov 06 '22 09:11

offi


Since you specifically want to only include javascript files, make the following change to your ~/Views/web.config file, by adding the "JavascriptViewHandler" section.

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

This will preserve all of the current blocking for non-javascript files.

like image 34
Ashley Lee Avatar answered Nov 06 '22 10:11

Ashley Lee