问题标签 [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 投票
2 回答
422 浏览

less - BundleTransformer with LESS - 体面的例子存在于任何地方?

真的很喜欢这个来自 NuGet 的BundleTransformer插件的想法,而且我发现它们的支持较少。但 ...

经过数周的尝试,我找不到任何像样的例子来说明如何使用它。至少可以说,文档不清楚。这是我能找到的最接近的,它不能编译或工作。

谁可以用更少的 css 要求更多

嗯,简单的答案是我可以要求更多。

有人可以帮助我完成创建包含文件的捆绑包的简单任务.less,它将运行吗?我完全迷路了。

0 投票
1 回答
3955 浏览

javascript - Javascript捆绑混淆和Bundletransformer

我试图在运行中混淆我们的 JavaScript 包的输出并遇到了bundletransformer(一个使用 YUI 压缩器的捆绑扩展),但没有成功实现它!到目前为止,通过阅读提供的文档,我在 RegisterBundles 方法中编写了以下代码:

以及 web.config 中的以下代码:

从捆绑输出来看,我可以推断它不仅没有被混淆,而且压缩根本没有生效!我在网上找不到任何示例,并尝试在这里和那里更改一些设置,但没有运气!所以我很无知,任何解决方案或建议都将不胜感激。提前致谢!

0 投票
2 回答
1532 浏览

css - 停止 Bundle Transformer 在 LESS 中转换相对路径

我在 MVC5 项目中使用Bundle Transformer进行 LESS 编译。我的 LESS 包包含一个 main.less 文件,该文件导入位于子文件夹中的其他文件。一些文件包含对图像文件的引用,如下所示 - 这是在文件中/css/structure/header.less

在已编译的 bundle ( /css/lessBundle) 中,这变为:

我希望在捆绑时保留 .less 文件中的相对路径,以便它正确指向/img/logo.png,而不是/css/img/logo.png。我认为 Bundle Transformer 负责转换相对路径——文档有这一段,但没有进一步详细说明:

您还需要了解,当您插入 CssTransformer 和 JsTransformer 类的实例时,您会插入一组转换(在文件的调试版本和预压缩版本之间进行选择、来自中间语言的翻译代码、运行时代码压缩、相关转换绝对路径(仅适用于 CSS 代码)和代码组合)。一组转换取决于您安装的 Bundle Transformer 模块以及您在 Web.config 文件中指定的设置。

这是我的BundleConfig:

/css/main.less主要是一堆进口:

我曾尝试在 web.config 中使用此设置,但没有效果:

如果可能的话,我宁愿不更改 .less 文件中的文件路径,因为它们是由第三方提供的,并且在他们的集成服务器(不使用 .NET)上一切正常。还有什么我可以做的吗?

0 投票
1 回答
564 浏览

asp.net-mvc - 多租户 ASP MVC 应用程序的捆绑

我正在使用 ASP MVC 开发一个多租户应用程序。租户由子域标识。我正在使用 System.Web.Optimization 进行捆绑和缩小以及 BundleTransformer.Less。

UI 可以通过为每个租户应用一组特定的 LESS 变量来设置主题。这些变量存储在数据库中。

根据https://stackoverflow.com/users/1292362/andrey-taritsyn的建议,我实现了一个自定义 VirtualPathProvider 以在需要它们的更少文件中注入更少的变量。这就像一个魅力!

但是,我对如何管理捆绑和缓存有一些疑问。

  1. 我应该抓住每个可能的租户并在 App_Start 上为每个租户注册一个捆绑包吗?(我不喜欢这个选项,因为我应该注册可能永远不会或偶尔使用的捆绑包,我还应该解决为新租户注册新捆绑包而不重新启动的问题)。

  2. 我是否应该注意每个请求,检查租户的捆绑包是否存在,如果不存在,请注册它?

  3. 最佳解决方案是在 App_Start 只声明一次捆绑包,并在对租户子域的第一个请求进入时创建捆绑包响应并将其存储在缓存中。

我目前实施了选项 3,它确实有效,但我不知道里面到底发生了什么。

  • 如何自定义缓存键以识别捆绑包租户?到目前为止,我这样做了:

    • 捆绑包由相同的虚拟路径标识,但是:是否缓存了许多捆绑包响应(特定于租户)?还是只有一个捆绑响应被覆盖?

    • 如何在布局中检索特定于租户的捆绑响应?当我执行 @Styles.Render("~/bundles/css/common") 时会发生什么?是否根据虚拟路径租户识别捆绑响应?

0 投票
1 回答
79 浏览

asp.net-mvc-4 - MicrosoftAjaxMinifier 似乎没有删除“无法访问的代码”

我在BundleTransformernuget 和System.Web.OptimisationASP.Net 应用程序中使用它。根据各种文档,这个缩小器应该“删除无法访问的代码”。我知道它不像谷歌关闭(我目前不能使用)那么激进,但我什至无法让最简单的情况下工作,例如;

wherefoo不是从任何地方调用的。我可以理解说这可能是一个导出函数的论点,但我看不到区分它的方法。我所有的 JS 代码都是串联的,因此如果我能找到正确的开关,它就可以确定是否需要该功能。

我发现省略不必要代码的唯一方法是使用debugLookupListweb.config 中的属性,BundleTransformer但这似乎是一把大锤来破解坚果。它不是很细。

有没有人有一个例子说明如何编写这个缩小器可以识别的所谓的“无法访问的代码” ?

这是一个在线测试的地方

0 投票
1 回答
259 浏览

asp.net-mvc - KryzhanovskyCssMinifier 不适用于 MsieJsEngine,但适用于 V8JsEngine

我正在为 ASP.NET 使用最新的 BundleTransformer。

我有一个非常简单的捆绑文件,其中包含一个 LESS 文件:

我制作的 LESS 文件尽可能简单,以证明它实际上正确解释为 LESS。

当我尝试使用 V8JsEngine 时,它​​按预期工作(显示了相关的 web.config):

这给了我正确的 CSS:

但是,当我切换到 MsieJSEngine

我得到以下奇怪不正确的 CSS - 完全去掉了 UL。

我只是无法理解这怎么可能。它已被正确解释为 LESS,但从列表中完全删除了 UL。顺便说一句,如果我把它做成一个没有类的纯 css 文件,.something我会得到同样的错误结果。

幸运的是,它似乎与 V8JsEngine 一起工作得很好,所以我可以继续,但我在这里发布这个希望能帮助其他人,因为我很好奇我是否做错了什么。


文件版本:

0 投票
1 回答
654 浏览

asp.net-mvc - 带有 BundleTransformer 的 ASP.NET MVC 5 中的资产版本控制

我正在使用BundleTransformer来组合和优化我们的项目JavaScript和文件。LESSCSS

在其他项目和库中,通常将组合文件的哈希附加到 URL 中,资产嵌入在HTML代码中,以强制浏览器在源文件之一发生更改时立即下载文件的新版本。

我一直在为包寻找类似的解决方案,BundleTransformer但没有找到任何关于版本控制的信息(也尝试过缓存破坏等)。

由于这个包目前有超过 100k 的下载量,我想知道其他人是如何解决这个问题的?真的没有内置方法可以将某种版本控制后缀附加到资产 URL 吗?

我还通过手动将构建版本添加到我们所有的资产中偶然发现了这个解决方案——我仍然想知道是否有更优雅的解决方案来解决这个问题?(同样这种方法很可能会强制浏览器重新下载更改的文件,例如像这样的库jQuery

0 投票
1 回答
212 浏览

asp.net-mvc - 如何使 BundleTransformer 在 Windows Server Core 上工作

自从我们发现 dotLess 停止为我们工作以来,我们的 ASP.NET MVC 项目一直在使用 BundleTransformer 进行 LESS 捆绑和缩小。我们正在尝试迁移我们的 CI 构建代理以使用 Windows Server Core(无头)并远离 Windows Server Standard。当我们这样做时,我们在尝试访问我们的页面时开始收到内部服务器错误。这似乎在 BundleTransformer 内部爆炸了。

我们最初使用 BundleTransformer 和http://www.nuget.org/packages/JavaScriptEngineSwitcher.Msie

通过阅读这篇文章,我想也许是我们缺少对 Internet Explorer 的依赖。 http://bundletransformer.codeplex.com/discussions/454495

我尝试使用 v8 引擎切换器并开始在我的 Windows 标准设置中出现服务器错误。 http://www.nuget.org/packages/JavaScriptEngineSwitcher.V8

有没有人成功地让 BundleTransformer 在 Windows Server Core 环境中工作?任何事情都会有所帮助。谢谢你。

0 投票
2 回答
1391 浏览

asp.net - 在调试模式下使用 BundleTransformer / LESS 运行 Autoprefixer

所以我目前使用BundleTransformerLESS并且我正在尝试添加Autoprefixer后处理器。这个插件会自动接受 css liketransform: scale(1.5)并将其转换为-webkit-transformand -moz-transform.

如果我处于发布模式或有BundleTable.EnableOptimizations=true那么一切工作正常,前缀按预期添加。

然而,在调试模式下,我的包中的所有单独的 CSS / LESS 文件都作为单独的请求存在于 HTML 中。我在我的 CSHTML 文件中使用这个命令:

即在调试模式下,这会扩展到以下LINK标签:

而不是单个文件

对于 LESS 文件,IIS 会自动转换它们,但它不应用Autoprefixer.

.css请求原始文件和文件时,有没有办法让 Autoprefixer 工作.less

如果不是,这对我来说似乎毫无意义,因为我看到的唯一选择是直接请求'Content/css/lessbundle虚拟 URL - 这将通过Autoprefixer. 它只会在发布版本中被缩小。

0 投票
2 回答
1056 浏览

c# - ASP MVC Less 文件给出:异常已被调用的目标抛出

我有一个使用较少文件的简单 asp.net mvc 4 站点。当我在本地电脑上运行它时,它工作正常,但是当我将它发布到服务器时,我收到以下错误:

堆栈跟踪:

为了渲染更少的文件,我使用了 BundleTransformer.Less,并在 web.config 中添加了 bundletransformer: