问题标签 [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.
angularjs - 缩小正在破坏我的 AngularJs 代码
我正在使用 Cassette,它使用 Microsoft Ajax Minifier 来缩小 JS。这个 minifier 重命名变量,包括对 Angular 有特殊意义的变量,例如$scope
和$http
。所以 Cassette 破坏了我的 Angular 代码!
我怎样才能防止这种情况发生?
作为参考,这是被破坏的 Angular 代码。和函数参数被重命名$scope
:$http
javascript - 部分视图和 CSS/Javascript
我正在尝试确定构建我的应用程序的最佳方式,这样我就不会到处乱扔 javascript。
我有一个带有视图的 ASP.NET MVC 应用程序,该应用程序使用 Michael Kennedy 的方法来加载 sllooooowwwww 局部视图,以提高异步局部视图的 ASP.NET MVC 网站的感知性能。部分视图本身正在渲染一个DataTables网格(它有自己的 CSS/JS 文件),以及网格本身的基于 Javascript 的配置(列格式、排序默认值、编辑器配置等)。
我的问题是什么是构建和维护所有这些的干净方法?我在这里涉及至少 3 种脚本(CSS 和/或 JS):
- 加载局部视图的主视图上的 JS。
- 数据表的 CSS/JS 文件
- 局部视图内的 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()
.
asp.net - 隐蔽 Razor 将语法委托给 WebForms
我正在尝试使用 WebForms 从盒式磁带中编写这种风格的代码。这可能吗?
Func<Object, Object>
我还没有找到在 WebForms中使用带有参数的方法的示例。或者这是因为只有 Razor 视图引擎才允许这样做?
css - 禁用特定 CSS 规则的 Cassette.Net url() 重写
我正在使用 Cassette.NET 来管理我的 .Net 应用程序中的静态资产,并且在尝试在我的 CSS 规则中使用 SVG 过滤器时遇到了一个小问题。
我有一个将过滤器应用于文本元素的 CSS 规则:
但是,当 Cassette 处理样式表时,它会将规则转换为
这对我一点好处都没有。有没有办法告诉 Cassette.NET 不要将其 URL 转换应用于特定文件,或者我只需要在 Cassette.NET 资产管道之外引用此样式表,
asp.net-mvc-3 - 实时服务器上的盒式磁带捆绑非常慢
我正在努力在互联网上找到有关如何解决此问题的任何信息...
我们有一个基于 ASP.NET MVC3 的网站,它使用 Cassette 进行资源捆绑。我目前正在将该网站部署到服务器上以供实时使用,但我们遇到了问题。我有一个登台/集成服务器,所有内容都托管在其中,运行良好。
使用相同的代码和相同的配置,当 AppPool 在新服务器上实时“预热”时,盒式磁带捆绑需要几分钟才能完成。我可以说是卡带占用了时间,因为我在暂停期间运行了几次调试诊断分析,它始终显示卡带处于 CoffeeScript 捆绑过程的中间。我在 Cassette 网站上读到,如果文件太大,CoffeeScript 编译可能需要很长时间,但我们的文件非常小(大约有 6 个)。
所以我的主要问题是:有什么东西会严重阻碍 Cassette 最初捆绑的性能吗?这与用于缓存捆绑包的隔离存储盒有关吗?
作为参考,服务器在 Windows Server 2008 R2 上运行 IIS 7.5。
奖励回合:当事情最终加载时,我看到错误“捆绑没有资产时操作无效”。令人困惑的是,没有引用的包路径是空的。再一次,一切都在我们的登台服务器上运行,但在“实时”服务器上却不行。
非常感谢您的任何想法。
更新
设置磁带配置debug=true
似乎使一切正常,包括“奖金回合”问题。我很想利用不使用像缩小这样的调试模式的好处,所以问题仍然存在。
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 时,这可以正常工作:
有什么建议么?
css - 带有指纹资产的 Chrome 工作区
Chrome 工作区:假设我将本地 CSS 文件映射到本地 http 服务器提供的文件。一切都很好,我可以在浏览器中修改文件,并且在页面刷新时我的更改仍然存在。
我们碰巧对我们的资产进行了指纹识别,以便通过诸如styles.css?longuniquehash
. 很好的实践——这样我们可以使用积极的缓存,并确保客户端将使用最新的资产。
但是,这对工作空间有点适得其反,因为每当更新 url 时映射就会丢失。简而言之:我们映射styles.css?123
到本地资源,我们更改它并在页面刷新时返回,因为styles.css?234
它必须再次映射。
我们正在使用盒式磁带,但可以在任何带有指纹识别的设置上重现该问题。是否有我缺少的设置或解决方法?
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 的新手。
感谢您的任何见解!
asp.net-mvc - 无法在 asp.net mvc 中将 kendo ui 与盒式磁带捆绑使用
我创建了这个包:
当调试为真时,一切正常,我可以实例化 Kendo UI 自动完成,但当调试为假时,我收到此错误:
TypeError: jQuery(...).kendoAutoComplete 不是函数
我已经覆盖了IConfiguration
,但没有任何改变。
我怎样才能解决这个问题?
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 是否有可能将我在不同页面中使用的不同参考“捆绑”到一个标签中?
提前谢谢了!