问题标签 [bundletransformer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1148 浏览

asp.net-mvc-4 - BundleTransformer.Core 抛出实现异常

我正在尝试使用BundleTransformer.Coreand BundleTransformer.Less,但是在尝试使用推荐的代码设置 MVC4 捆绑包时遇到了以下异常:

'BundleTransformer.Core.Orderers.NullOrderer' 类型中的方法 'OrderFiles' 没有实现。

注册以下内容时会引发该异常:

我已经尝试过最新版本BundleTransformer.Core和之前的版本。

0 投票
2 回答
4551 浏览

asp.net-mvc-4 - 使用 ASP.NET Web 优化和 BundleTransformer 更正 CSS 捆绑中的路径时,IItemTransform 的正确用途是什么?

我目前正在开发一个项目,该项目使用ASP.NET Web 优化库(v 1.1.0-Beta1)和Bundle Transformer扩展(v 1.7.3-Beta1 用于核心,1.7.0-Beta1 用于 LESS)用于将 LESS 转换为 CSS。基于 CSS(和更少)内的网络搜索路径似乎是一个常见问题,在大多数情况下,建议手动修改 CSS 并完成它。但是,由于我们的开发和生产环境之间存在差异,并且不拥有受影响的 CSS,这样的解决方案是不可行的。

似乎存在两种解决方案。第一种是将捆绑定义的虚拟目录覆盖在包含内容的实际目录上。对我来说,这似乎是一个糟糕的选择。

其次,我选择的路线是使用IItemTransform诸如(在这篇文章CssRewriteUrlTransform中提到。即使这个解决方案也有它的局限性。因此我试图编写自己的,但似乎它的执行结果被忽略了当以下列方式使用时:ItemTransformer

IItemTransform 的实现:

除非我完全误解了如何使用 an IItemTransform,这很可能由于缺乏文档,我认为 Process 方法的返回是新的后处理 CSS。然而,回报似乎被忽略了。原始输入始终在使用中,即使我返回一个String.Empty(). 我在这里做错了什么还是确实是一个错误?

0 投票
1 回答
2908 浏览

jquery - 使用 ASP.NET 中的包呈现 JQuery 脚本

我正在尝试使用捆绑包呈现 jquery。

我将 jquery 添加BundleConfig.vb

我补充说

在 aspx 文件中。

当我查看文件的源代码时,我得到类似

我能够毫无问题地渲染所有其他脚本和样式。

其他脚本包BundleConfig.vb

您对在 jquery 和 jqueryUI 之间添加到脚本标签和样式标签的样式属性有任何想法吗?

0 投票
1 回答
1888 浏览

c# - BundleTransformer.Less 根据上下文/请求注入变量

我们希望将捆绑机制System.Web.Optimization与 Less 转换器结合使用。

问题是同一个应用程序/服务器为不同品牌的网站提供页面。因此,根据“SiteContext”,使用相同的 .less 文件,但 .less 变量应使用不同的值。因此,我们希望(重新)使用相同的更少文件,但根据请求的上下文使用不同的变量。

我尝试了几种不同的理论:

在所有 3 种情况下,我根据 SiteContext 设置不同的捆绑包。

1 通过使用拦截 variables.less 文件的自定义 VirtualPathProvider注入带有主题变量的 @import 指令。

所以我有:

  • 样式文件,例如:header.less(导入变量文件)
  • 变量文件:variables.less
  • 一个主题变量文件:variables-theme.less(通过 VirtualPathProvider 注入 variables.less)

这不起作用,因为 BundleTransformer 缓存将此视为同一个文件并且不知道 SiteContext。缓存键是基于 URL 的IAsset,我们不能影响这种行为。

2 用variables-themed.less替换 variables.less 导入,使用在 Less 转换器之前运行的自定义转换器。

再次没有运气,同样的缓存问题。

并且作为副作用,额外的转换器没有在调试中调用,因为资产没有捆绑,而是由LessAssetHandler. 这可以通过编写您自己的调用所有必需转换器的 AssetHandler 来解决。

3 创建由自定义 VirtualPathProvider解析的主题资产名称, 例如。将 header-themeX.less 添加到包中,此文件不存在,但您将此文件解析为 header.less 并使用方法 2 设置正确的变量文件导入。(将 variables.less 的导入替换为主题版本)。

再次没有运气。我认为这可以解决缓存问题,如果它不是在内部进行Bundle.Include(string virtualPath)File.Exists(path)。它不通过CustomVirtualPathProvider.


我想深入解决这个问题吗?欢迎所有想法,我可以想象随着System.Web.Optimization图书馆越来越受欢迎,这将成为越来越多的人的问题......

请记住:

  • 我们有很多 .less/css 文件
  • 我们将有5个左右的主题
  • 我们喜欢在 Visual Studio 中保持工作(这就是为什么 header.less 有一个对 variables.less 的引用)

感谢您的任何反馈。

0 投票
1 回答
6988 浏览

c# - 为 LESS 捆绑 Transformer 并使用 @import

我正在使用 Bundle Transformer 的 1.7.27 版本:LESS 包在这里:http ://www.nuget.org/packages/BundleTransformer.Less/1.7.27

然后我尝试在 MVC4 项目的BundleConfig.cs文件中执行以下操作App_Start

默认情况下,Font Awesome less 包在font-awesome.less文件中有这些 @imports

这些文件与文件位于同一目录中font-awesome.less

捆绑开始并显示如下:

但是@import 文件都返回 404 not found 错误,我有点认为@import规则会在执行捆绑之前首先从它们的相对位置到原始文件进行处理。

我错过了什么吗?

0 投票
1 回答
2212 浏览

asp.net-mvc-4 - 如何使 BundleTransformer SCSS 和 SASS 在运行时编译

我最近将 BundleTransformer 更新到 1.8.2,它不再在运行时编译我的 SCSS,这非常不方便,因为我每次都必须重新构建解决方案才能查看 CSS 更改,这很烦人,因为我只能刷新页面。

随着更新,是否添加了用于处理编译的新参数?我一直在查看文档但没有运气:(http://bundletransformer.codeplex.com/wikipage?title=Bundle%20Transformer%201.8.2

BundleTransformer.SassAndScss 是最新的 .Core 代码。无论我是在调试还是发布模式下运行,它都不会更新 .scss 文件或捆绑文件,直到我重建解决方案。

0 投票
1 回答
184 浏览

yui - YUI JS minifier 弄乱了代码

我在 asp.net MVC 4 项目中使用 BundleTransformer.Yui.Minifiers.YuiJsMinifier,但我认为这是 YUI 压缩器错误...

当 BundleTrasformer 使用 YUI 压缩器变量 varName 缩小和混淆此代码时,变量 varName 变为 t,并且函数参数 t 保持为 t,因此 varName 被 t 覆盖...结帐注释警报...我的问题是我应该更改压缩器,还是重命名所有一个, 和两个字母变量变成更长的?难道我做错了什么?如果我只更改一行代码,一切正常,所以我很确定这是 YUI 压缩器错误

PS 我知道使用一个字母的变量名不是一个好习惯,但它仍然是 YUI 压缩器错误... PPS:我在 succes 函数中使用 eval。(知道这也不是好习惯,但 YUI 压缩器不应该分解代码:/)

0 投票
2 回答
2287 浏览

javascript - 如何使用 BundleTransformer YuiJsMinifier 删除评论

我正在使用BundleTransformer来缩小cssjs资源

如您所见,css可以指定removeComments="true"js没有这样的选项。

我认为 YUI js 压缩器默认会删除评论。是的,它是一种删除,但它仍然留下这样的评论:

看起来没有办法强制 YIU js minifier 删除评论。

https://github.com/yui/yuicompressor

以 /*! 开头的 C 风格注释 被保留。这对于包含版权/许可信息的评论很有用

通过使用BundleTransformer完全删除捆绑的缩小输出文件中的所有类型的注释,我能做些什么吗?谷歌页面速度强烈建议我这样做。

0 投票
1 回答
2741 浏览

less - Visual Studio 浏览器链接 + Chrome 开发者工具

我的 Visual Studio 2013 应用程序使用 LESS,它是使用 BundleTransformer ( http://bundletransformer.codeplex.com ) 捆绑的。LESS 文件跨整个应用程序导入到单个 app.less 中。然后捆绑此 app.less 文件。

使用这种方法,Chrome(以及其他所有浏览器)只能看到最终的 app.less。当我打开 Chrome 开发者工具并即时更改 CSS 时,Browser Link 会自动将更改保存回 app.less。原来的 app.less 看起来像下面这样,现在是浏览器加载的整个编译版本。

1) How do I prevent Browser Link from automatically saving? I've turned off the "Enable F12 Save Changes" option, but it doesn't care. Or disable saving of LESS files only, as I do modify Javascript in Chrome Developer tools often and wish to save.

2)如果我确实想保存(我这样做),有没有办法配置我的应用程序、BundleTransformer 和/或我的浏览器(Chrome)以映射到原始源文件(在开发期间),而不是编译的应用程序。较少的?

我也在使用 Web Essentials 2013 (1.8.5),但只是为了在 VS 中查看 LESS。

Chrome 已映射到我的应用程序工作区。https://developers.google.com/chrome-developer-tools/docs/settings#workspace

0 投票
3 回答
952 浏览

c# - BundleTransformer.Less 无法解析 @import 语句中的变量

编辑:所以根据这一点,这是不可能的,这是一个真正的耻辱。我将需要寻找一个在导入中支持变量的捆绑和压缩库。

我在尝试让BundleTransformer.Less解析以下 LESS 时遇到问题:

它正在产生以下错误:

这些文件确实存在,但如您所见,它没有解析位置字符串中的变量。VS2013 中的 Web Essentials 编译 LESS 文件并按预期输出 CSS 没有问题。我怀疑问题出在 BundleTransformer 或设置它的方式上。我正在使用以下版本:

我必须使用这些版本,因为我正在使用 Umbraco 7,它不允许我在不破坏 Umbraco 的情况下更新 Newtonsoft.Json。

我的捆绑配置文件如下所示:

我认为问题在于未正确注册 Less 变压器,但我已按照安装说明进行操作,请参阅 LESS 版本的文档。任何人都可以看到我缺少的可以帮助解决此问题的东西,或者有人可以推荐一些我可以尝试的东西吗?

所有帮助表示赞赏。