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

asp.net-mvc-3 – 从Minifying中跳过单个文件?

发布时间:2020-12-16 04:04:00 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用ASP.Nets BundleTable来优化一些 javascript文件,但是遇到了一个问题,当代码被缩小时,特定的插件(jQuery-Timepicker)无法工作.见 here. 捆绑代码目前类似于: // Add our commonBundlevar commonBundle= new Bundle("~/CommonJS" + culture.To
我正在尝试使用ASP.Nets BundleTable来优化一些 javascript文件,但是遇到了一个问题,当代码被缩小时,特定的插件(jQuery-Timepicker)无法工作.见 here.

捆绑代码目前类似于:

// Add our commonBundle
var commonBundle= new Bundle("~/CommonJS" + culture.ToString());

// JQuery and related entries.
commonBundle.Include("~/Scripts/jquery-1.7.2.js");
commonBundle.Include("~/Scripts/jquery-ui-1.8.22.js");
commonBundle.Include("~/Scripts/jquery.cookie.js");
commonBundle.Include("~/Scripts/jquery-ui/jquery-ui-timepicker-addon.js"); // This is the one that does not work when bundled

// JS Transformer
commonBundle.Transforms.Add(new JsMinify());

BundleTable.Bundles.Add(commonBundle);

如果我删除了jquery-ui-timepicker-addon.js文件,然后将其单独包含在我的网页中,那么它可以正常工作. (否则我得到Uncaught TypeError:undefined不是函数错误).

我想知道我是否能以某种方式设置我的捆绑代码以跳过缩小这个文件(但仍然包含在捆绑包中)?我一直在环顾四周,但没有提出任何解决方案.

解决方法

所以问题是所有文件都捆绑在一起,然后最小化整个包.因此,您不会轻易地跳过一个文件的缩小.执行此操作的最佳方法可能是创建一个新的Transform,它会附加您想要无限制的此文件的内容.然后你将这个Transform附加到你注册的ScriptBundle:
commonBundle.Transforms.Add(new AppendFileTransform(""~/Scripts/jquery-ui/jquery-ui-timepicker-addon.js""));

AppendFileTransform只是将文件的内容附加到捆绑的响应中.您将不再明确地在包中包含timepicker,但是此变换将包含它,这将有效地为您提供您正在寻找的行为,因为JsMinify转换将首先运行并缩小包,然后您将添加你最终想要的文件是未经证实的.

(编辑:李大同)

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

    推荐文章
      热点阅读