Monday, May 20, 2024
Homepage · c#
 Popular · Latest · Hot · Upcoming
36
rated 0 times [  43] [ 7]  / answers: 1 / hits: 101987  / 12 Years ago, thu, august 16, 2012, 12:00:00

I have a weird issue with the mvc4 bundler not including files with extension .min.js



In my BundleConfig class, I declare



public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle(~/Scripts/jquery)
.Include(~/Scripts/jquery-1.8.0.js)
.Include(~/Scripts/jquery.tmpl.min.js));
}


In my view, I declare



<html>
<head>
@Scripts.Render(~/Scripts/jquery)
</head><body>test</body>
</html>


And when it renders, it only renders



<html>
<head>
<script src=/Scripts/jquery-1.8.0.js></script>
</head>
<body>test</body>
</html>


If I rename the jquery.tmpl.min.js to jquery.tmpl.js (and update the path in the bundle accordingly), both scripts are rendered correctly.



Is there some config setting that is causing it to ignore '.min.js' files?


More From » c#

 Answers
10

The solution I originally posted is questionable (is a dirty hack). The tweaked behaviour has changed in Microsoft.AspNet.Web.Optimization package and the tweak does not work anymore, as pointed out by many commenters. Right now I cannot reproduce the issue at all with the version 1.1.3 of the package.



Please see sources of System.Web.Optimization.BundleCollection (you can use dotPeek for example) for better understanding of what you are about to do.
Also read Max Shmelev's answer.



Original answer:



Either rename .min.js to .js or do something like



    public static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
{
if (ignoreList == null)
throw new ArgumentNullException(ignoreList);
ignoreList.Ignore(*.intellisense.js);
ignoreList.Ignore(*-vsdoc.js);
ignoreList.Ignore(*.debug.js, OptimizationMode.WhenEnabled);
//ignoreList.Ignore(*.min.js, OptimizationMode.WhenDisabled);
ignoreList.Ignore(*.min.css, OptimizationMode.WhenDisabled);
}

public static void RegisterBundles(BundleCollection bundles)
{
bundles.IgnoreList.Clear();
AddDefaultIgnorePatterns(bundles.IgnoreList);
//NOTE: it's bundles.DirectoryFilter in Microsoft.AspNet.Web.Optimization.1.1.3 and not bundles.IgnoreList

//...your code
}

[#83609] Tuesday, August 14, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jaidyn

Total Points: 633
Total Questions: 102
Total Answers: 100

Location: Trinidad and Tobago
Member since Thu, Dec 1, 2022
2 Years ago
;