You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 2.1引入Bootstrap 5导致BuildBundlerMinifier打包异常如何解决?

问题根因

你遇到的文件被自动删除的情况,是因为BuildBundlerMinifier默认依赖的NUglify压缩器版本过低,无法识别Bootstrap 5.x JS中使用的ES6+语法,压缩过程抛出错误后,工具会自动删除生成失败的输出文件。

解决方案

按优先级从高到低尝试以下方法即可解决:

  • 方案1:升级BuildBundlerMinifier到最新稳定版

    在NuGet包管理器中找到BuildBundlerMinifier包,升级到最新的稳定版本。新版本已经更新了依赖的NUglify组件,默认支持ES6语法解析,绝大多数情况下升级后即可正常打包。
  • 方案2:显式在bundle配置中开启ES6压缩支持

    如果升级后仍有问题,可以在你的bundleconfig.json的JS打包配置中添加ES6支持的参数,配置示例如下:
    [
        {
            "outputFileName": "wwwroot/css/sitebundle.min.css",
            "inputFiles": [
                "wwwroot/lib/bootstrap/css/bootstrap.css",
                "wwwroot/css/site.css"
            ]
        },
        {
            "outputFileName": "wwwroot/js/sitebundle.min.js",
            "inputFiles": [
                "wwwroot/lib/jquery/dist/jquery.js",
                "wwwroot/lib/bootstrap/js/bootstrap.js",
                "wwwroot/js/site.js"
            ],
            "minify": {
                "enabled": true,
                "renameLocals": true,
                "es6": true
            }
        }
    ]
    
    新增的"es6": true参数会告知压缩器按照ES6语法规则解析代码,避免语法识别错误。
  • 方案3:直接使用Bootstrap预压缩文件跳过二次压缩

    如果以上方案都不生效,可以将输入文件替换为Bootstrap官方已经压缩好的bootstrap.min.js,同时配置打包工具不对该文件做二次压缩,配置示例如下:
    {
        "outputFileName": "wwwroot/js/sitebundle.min.js",
        "inputFiles": [
            "wwwroot/lib/jquery/dist/jquery.js",
            "wwwroot/lib/bootstrap/js/bootstrap.min.js",
            "wwwroot/js/site.js"
        ],
        "minify": {
            "enabled": true,
            "exclude": [ "**/bootstrap.min.js" ]
        }
    }
    
    该方案只会将多个JS文件合并为一个,不会对已经压缩完成的Bootstrap文件做二次处理,完全规避压缩语法错误问题。

内容的提问来源于stack exchange,提问作者Bill Kindig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 10:24:02