问题标签 [cassette]

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 回答
3345 浏览

angularjs - 缩小正在破坏我的 AngularJs 代码

我正在使用 Cassette,它使用 Microsoft Ajax Minifier 来缩小 JS。这个 minifier 重命名变量,包括对 Angular 有特殊意义的变量,例如$scope$http。所以 Cassette 破坏了我的 Angular 代码!

我怎样才能防止这种情况发生?

作为参考,这是被破坏的 Angular 代码。和函数参数被重命名$scope$http

0 投票
2 回答
1265 浏览

javascript - 部分视图和 CSS/Javascript

我正在尝试确定构建我的应用程序的最佳方式,这样我就不会到处乱扔 javascript。

我有一个带有视图的 ASP.NET MVC 应用程序,该应用程序使用 Michael Kennedy 的方法来加载 sllooooowwwww 局部视图,以提高异步局部视图的 ASP.NET MVC 网站的感知性能。部分视图本身正在渲染一个DataTables网格(它有自己的 CSS/JS 文件),以及网格本身的基于 Javascript 的配置(列格式、排序默认值、编辑器配置等)。

我的问题是什么是构建和维护所有这些的干净方法?我在这里涉及至少 3 种脚本(CSS 和/或 JS):

  1. 加载局部视图的主视图上的 JS。
  2. 数据表的 CSS/JS 文件
  3. 局部视图内的 JS 运行$(document).ready()并配置该特定网格。

我可以控制(在主视图上)使用 Razor 的@section脚本/样式(上面的第 1 项)呈现 CSS/JS 的位置。但是,局部视图无法利用该@section功能,因此局部视图中的任何 CSS/JS 都会被注入到页面中间。这对我来说并不好,因为这样渲染的 HTML 看起来很讨厌,CSS/JS 显示在主视图的中间。我知道当 CSS/JS 都存储在外部文件中时,像Cassette这样的东西可以帮助解决第 2 项。

但是第 3 条我有 CSS/JS 的那部分视图非常具体呢?它可能像为视图附加单击事件处理程序或配置 JQuery 插件一样小,但这是否意味着我应该将其分离到另一个 JS 文件中?如果不需要,我不喜欢将这些东西分开,尤其是每个局部视图的网格配置。

就我而言,我有一个应用程序,其中包含多个视图,这些视图包含渲染网格的这些部分视图,并且没有一个网格包含相同的列集 - 因此每个网格的 JS 配置在$(document).ready().

0 投票
1 回答
85 浏览

asp.net - 隐蔽 Razor 将语法委托给 WebForms

我正在尝试使用 WebForms 从盒式磁带中编写这种风格的代码。这可能吗?

Func<Object, Object>我还没有找到在 WebForms中使用带有参数的方法的示例。或者这是因为只有 Razor 视图引擎才允许这样做?

0 投票
0 回答
106 浏览

css - 禁用特定 CSS 规则的 Cassette.Net url() 重写

我正在使用 Cassette.NET 来管理我的 .Net 应用程序中的静态资产,并且在尝试在我的 CSS 规则中使用 SVG 过滤器时遇到了一个小问题。

我有一个将过滤器应用于文本元素的 CSS 规则:

但是,当 Cassette 处理样式表时,它会将规则转换为

这对我一点好处都没有。有没有办法告诉 Cassette.NET 不要将其 URL 转换应用于特定文件,或者我只需要在 Cassette.NET 资产管道之外引用此样式表,

0 投票
1 回答
302 浏览

asp.net-mvc-3 - 实时服务器上的盒式磁带捆绑非常慢

我正在努力在互联网上找到有关如何解决此问题的任何信息...

我们有一个基于 ASP.NET MVC3 的网站,它使用 Cassette 进行资源捆绑。我目前正在将该网站部署到服务器上以供实时使用,但我们遇到了问题。我有一个登台/集成服务器,所有内容都托管在其中,运行良好。

使用相同的代码和相同的配置,当 AppPool 在新服务器上实时“预热”时,盒式磁带捆绑需要几分钟才能完成。我可以说是卡带占用了时间,因为我在暂停期间运行了几次调试诊断分析,它始终显示卡带处于 CoffeeScript 捆绑过程的中间。我在 Cassette 网站上读到,如果文件太大,CoffeeScript 编译可能需要很长时间,但我们的文件非常小(大约有 6 个)。

所以我的主要问题是:有什么东西会严重阻碍 Cassette 最初捆绑的性能吗?这与用于缓存捆绑包的隔离存储盒有关吗?

作为参考,服务器在 Windows Server 2008 R2 上运行 IIS 7.5。

奖励回合:当事情最终加载时,我看到错误“捆绑没有资产时操作无效”。令人困惑的是,没有引用的包路径是空的。再一次,一切都在我们的登台服务器上运行,但在“实时”服务器上却不行。

非常感谢您的任何想法。

更新 设置磁带配置debug=true似乎使一切正常,包括“奖金回合”问题。我很想利用不使用像缩小这样的调试模式的好处,所以问题仍然存在。

0 投票
1 回答
193 浏览

nancy - Cassette.Nancy 未捆绑的文件返回 404

我已添加Cassette.Nancy到现有的 Nancy Web 项目中。这在我设置时工作正常,CassetteNancyStartup.OptimizeOutput = true;但是当设置为时,false我在非捆绑资源上得到 404。

这是我的设置。

我正在使用以下软件包:

  • Cassette.Nancy 版本="2.1.1"
  • 卡带版本="2.4.1"
  • 南希版本="0.22.2"
  • Nancy.Owin 版本="0.22.2"
  • Nancy.Viewengines.Razor 版本="0.22.2"

文件是这样的:

  • 内容
    • 文件1.css
    • 文件2.css
  • 脚本
    • script1.js
    • script2.js

卡带捆绑配置:

在我的_Layout.cshtml

最后在Bootstrapper

就像我说的那样,当CassetteNancyStartup.OptimizeOutput设置为true但当false每个资源都返回像这样的 404 时,这可以正常工作:

有什么建议么?

0 投票
2 回答
608 浏览

css - 带有指纹资产的 Chrome 工作区

Chrome 工作区:假设我将本地 CSS 文件映射到本地 http 服务器提供的文件。一切都很好,我可以在浏览器中修改文件,并且在页面刷新时我的更改仍然存在。

我们碰巧对我们的资产进行了指纹识别,以便通过诸如styles.css?longuniquehash. 很好的实践——这样我们可以使用积极的缓存,并确保客户端将使用最新的资产。

但是,这对工作空间有点适得其反,因为每当更新 url 时映射就会丢失。简而言之:我们映射styles.css?123到本地资源,我们更改它并在页面刷新时返回,因为styles.css?234它必须再次映射。

我们正在使用盒式磁带,但可以在任何带有指纹识别的设置上重现该问题。是否有我缺少的设置或解决方法?

0 投票
1 回答
331 浏览

mvc-mini-profiler - 如何访问 Mini Profiler 的内置 UI 并且没有 Cassette 抛出有关 GZip 标头的 InvalidDataException?

我正在尝试访问 Mini Profiler 的内置 UI,但它要么什么都不做,要么 Cassette 妨碍了抛出异常。

启用 Cassette url 重写后,我在浏览“~/mini-profiler-resources/results-index”时遇到此错误:

我没有运行任何其他压缩服务(如果它就位并且启用了 url 重写,这可能是一个问题)。如果我在 Cassette 中禁用 url 重写,则没有错误,并且我在发出的 HTML 中看到了这一点,但没有显示任何内容:

我很确定这与 MiniProfiler 需要如何渲染包含有关,而 Cassette 所做的事情与 MiniProfiler 不兼容。

我正在使用 SqlServerStorage,因此我可以看到发送到数据库的计时,并且我可以在任何给定页面上看到弹出计时 UI。这是我在 Application_Start() 中完成的初始化:

我尝试将其添加到 web.config 的正确位置:

我正在使用以下软件包版本:

MiniProfiler.3.0.10-beta6 MiniProfiler.EF5.3.0.10-beta1 MiniProfiler.Mvc4.3.0.10-beta1

平台为.NET、C#、MVC4、ASP.NET、IIS7等。

关于我的设置可能有什么问题或 Cassette 发生了什么的任何想法?这可能很明显,因为我是 MiniProfiler 的新手。

感谢您的任何见解!

0 投票
0 回答
172 浏览

asp.net-mvc - 无法在 asp.net mvc 中将 kendo ui 与盒式磁带捆绑使用

我创建了这个包:

当调试为真时,一切正常,我可以实例化 Kendo UI 自动完成,但当调试为假时,我收到此错误:

TypeError: jQuery(...).kendoAutoComplete 不是函数

我已经覆盖了IConfiguration,但没有任何改变。

我怎样才能解决这个问题?

0 投票
0 回答
237 浏览

optimization - 如何使用 Casette 的 Bundles.Reference() 捆绑 javascript 文件

在我的 MVC 项目中,我同时使用 Web Optimizer 和Cassette我选择Cassette的主要原因是它能够从局部视图或子操作(或从任何地方)“注入”javascript 和 css 到 html 标题/底部正文部分。我仍然使用 Web Optimizer 的原因是因为它可以为同一目录中的文件提供不同的包(相比之下,Cassette 默认每个文件夹一个包,这有时不起作用,例如,许多不同的主题只在一个文件夹中,因为它们分享文件)。

在我的项目中,我在不同的地方使用了很多第三方 jQuery 插件。我将它们捆绑在一起,然后在不同的页面中使用 Bundles.Reference() 在需要时添加到页面。例如,在一个页面中,我可以使用 5 个插件,而另一个页面可以使用 6 个插件。

当页面被渲染时,Cassette 将为每个引用生成一个标签。

我们使用 bundle 的主要原因是尽可能减少对服务器的请求。但是在这种情况下,Cassette 并没有减少对 javascript 的请求。就像我为每个插件添加标签一样(但我不能从部分视图/子操作注入到标题/正文底部)。

所以我的问题来了:Cassette 是否有可能将我在不同页面中使用的不同参考“捆绑”到一个标签中?

提前谢谢了!