问题标签 [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.
asp.net-mvc-4 - BundleTransformer.Core 抛出实现异常
我正在尝试使用BundleTransformer.Core
and BundleTransformer.Less
,但是在尝试使用推荐的代码设置 MVC4 捆绑包时遇到了以下异常:
'BundleTransformer.Core.Orderers.NullOrderer' 类型中的方法 'OrderFiles' 没有实现。
注册以下内容时会引发该异常:
我已经尝试过最新版本BundleTransformer.Core
和之前的版本。
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()
. 我在这里做错了什么还是确实是一个错误?
jquery - 使用 ASP.NET 中的包呈现 JQuery 脚本
我正在尝试使用捆绑包呈现 jquery。
我将 jquery 添加BundleConfig.vb
为
我补充说
在 aspx 文件中。
当我查看文件的源代码时,我得到类似
我能够毫无问题地渲染所有其他脚本和样式。
其他脚本包BundleConfig.vb
您对在 jquery 和 jqueryUI 之间添加到脚本标签和样式标签的样式属性有任何想法吗?
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 的引用)
感谢您的任何反馈。
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
规则会在执行捆绑之前首先从它们的相对位置到原始文件进行处理。
我错过了什么吗?
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 文件或捆绑文件,直到我重建解决方案。
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 压缩器不应该分解代码:/)
javascript - 如何使用 BundleTransformer YuiJsMinifier 删除评论
我正在使用BundleTransformer来缩小css
和js
资源
如您所见,css
可以指定removeComments="true"
但js
没有这样的选项。
我认为 YUI js 压缩器默认会删除评论。是的,它是一种删除,但它仍然留下这样的评论:
看起来没有办法强制 YIU js minifier 删除评论。
https://github.com/yui/yuicompressor:
以 /*! 开头的 C 风格注释 被保留。这对于包含版权/许可信息的评论很有用
通过使用BundleTransformer完全删除捆绑的缩小输出文件中的所有类型的注释,我能做些什么吗?谷歌页面速度强烈建议我这样做。
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
c# - BundleTransformer.Less 无法解析 @import 语句中的变量
编辑:所以根据这一点,这是不可能的,这是一个真正的耻辱。我将需要寻找一个在导入中支持变量的捆绑和压缩库。
我在尝试让BundleTransformer.Less解析以下 LESS 时遇到问题:
它正在产生以下错误:
这些文件确实存在,但如您所见,它没有解析位置字符串中的变量。VS2013 中的 Web Essentials 编译 LESS 文件并按预期输出 CSS 没有问题。我怀疑问题出在 BundleTransformer 或设置它的方式上。我正在使用以下版本:
我必须使用这些版本,因为我正在使用 Umbraco 7,它不允许我在不破坏 Umbraco 的情况下更新 Newtonsoft.Json。
我的捆绑配置文件如下所示:
我认为问题在于未正确注册 Less 变压器,但我已按照安装说明进行操作,请参阅 LESS 版本的文档。任何人都可以看到我缺少的可以帮助解决此问题的东西,或者有人可以推荐一些我可以尝试的东西吗?
所有帮助表示赞赏。