5

我正在将 ASP.NET 捆绑移动到我拥有的网站中,我注意到它正在从代码中删除所有注释,包括版权标题注释(在 CSS 和 JavaScript 中)。如果它是我的版权就可以了,因为我可以创建自己的IBundleTransform版权并将我的版权添加到顶部,但使用第三方版权执行此操作并不理想。

有没有什么好的方法来保留这些版权标题(或者可能是我在 MSDN 文档中没有找到的标志)?谢谢!

4

1 回答 1

3

当前答案(2016 年 1 月更新)

原始答案(见下文)仍然有效;然而,自 2013 年以来,JavaScript 发生了很大变化。这种快速变化甚至因 ASP.NET 5 甚至不再包含 Bundling 的事实而更加复杂。

我目前的解决方案是使用 JavaScript 工具为我进行捆绑和缩小。像Uglify这样的东西可以选择缩小,同时保留重要的标题注释。您可以将其与GulpGrunt等工具结合使用,以在构建、项目加载甚至按需触发此过程。这可以通过名为“Task Runner Explorer”的 Visual Studio 窗口来完成,该窗口内置于Visual Studio 2015 中,并作为 Visual Studio 2013 扩展提供

使用 JavaScript 工具进行缩小并不能解决捆绑解决的缓存破坏问题。有 JavaScript 工具可以解决这个问题(即gulp-rev),但我不喜欢它们与 ASP.NET 一起工作的方式。在保持静态内容的高缓存期限的同时执行此操作的一种方法是在 URL 中使用某种散列或指纹。微软员工 Mads Kristensen在他的个人博客上写了一篇关于如何在 ASP.NET 中实现缓存破坏的文章

此外,HTTP/2 以及如果您正在制作一个面向前方的网站,您将不希望/不需要像我们过去那样将脚本组合成捆绑包。

原始答案

作为后续,我使用的解决方案是使用Bundle而不是ScriptBundleStyleBundle只是将所有第三方库(无论如何已经缩小)粘贴到一个包中。

当我意识到我可以不用缩小并与所有第三方 JS 或 CSS 捆绑在一起时,我正要使用 @Robert Havey 对Bundle Transformer的出色回答。

于 2013-11-06T16:36:17.783 回答