Asp.net 如何防止在BundleTransformer中使用*.min.js?
我使用BundleTransformer.Core 1.9.25。我已将angular-animate.js包含在捆绑包中。但在生成的bundle文件中,我看到了错误:Asp.net 如何防止在BundleTransformer中使用*.min.js?,asp.net,bundle,Asp.net,Bundle,我使用BundleTransformer.Core 1.9.25。我已将angular-animate.js包含在捆绑包中。但在生成的bundle文件中,我看到了错误: /* Minification failed. Returning unminified contents. (402,118-125): run-time error JS1019: Can't have 'break' outside of loop: break a 原因是捆绑包使用angular-animate.min
/* Minification failed. Returning unminified contents.
(402,118-125): run-time error JS1019: Can't have 'break' outside of loop: break a
原因是捆绑包使用angular-animate.min.js而不是angular-animate.js。当我删除angular-animate.min.js文件时,它使用angular-animate.js,并且没有错误
Web.config包含:
<bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
<core>
<js usePreMinifiedFiles="false">
<translators>
<add name="NullTranslator" type="BundleTransformer.Core.Translators.NullTranslator, BundleTransformer.Core" enabled="false" />
</translators>
<minifiers>
<add name="NullMinifier" type="BundleTransformer.Core.Minifiers.NullMinifier, BundleTransformer.Core" />
</minifiers>
<fileExtensions>
<add fileExtension=".js" assetTypeCode="JavaScript" />
</fileExtensions>
</js>
</core>
</bundleTransformer>
正如您所看到的,
usePreMinifiedFiles=false
属性并不阻止使用现有的*.min.js文件。我只是忘记在App\u Start/BundleConfig.cs中添加ScriptTransformer
:
它解决了这个问题
但是我选择的解决方案没有使用ScriptTransformer
(BundleTransformer.Core)。它正在清理FileExtensionReplacementList
list:
bundles.FileExtensionReplacementList.Clear();
默认情况下,FileExtensionReplacementList
有两个值:
.Add("min", OptimizationMode.WhenEnabled);
.Add("debug", OptimizationMode.WhenDisabled);
这也是我的问题的原因。在BundleConfig.cs文件中查找
BundleTable.EnableOptimizations = true;
并将值更改为false。不,我想连接并缩小捆绑包,但我不希望捆绑包使用*.min.js文件,这些文件不在捆绑包中。如果有人这样做是为了解决问题,他们也可以不使用捆绑包。谢谢,这为我解决了问题。我使用了
bundles.FileExtensionReplacementList.Clear();bundles.FileExtensionReplacementList.Add(“debug”,OptimizationMode.WhenDisabled)代码>它不是在每个HTTP请求上缩小js文件吗?
BundleTable.EnableOptimizations = true;