加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何防止在BundleTransformer中使用* .min.js?

发布时间:2020-12-16 09:54:44 所属栏目:asp.Net 来源:网络整理
导读:我使用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: brea
我使用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

原因是该bundle使用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_Start / BundleConfig.cs中添加ScriptTransformer:

var scriptTransformer = new ScriptTransformer();
bundle.Transforms.Add(scriptTransformer);

它解决了这个问题.

但我选择了解决方案而不使用ScriptTransformer(BundleTransformer.Core).它正在清理FileExtensionReplacementList列表:

bundles.FileExtensionReplacementList.Clear();

默认情况下,FileExtensionReplacementList有两个值:

.Add("min",OptimizationMode.WhenEnabled);
.Add("debug",OptimizationMode.WhenDisabled);

这是我的问题的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读