标签: squishit

SquishIt vs. MVC 4.0 Bundler

我有一个ASP.NET MVC应用程序,我现在使用SquishIt帮助将我的所有CSS和javascript文件捆绑到从网络服务器下载的单个元素中,以便每次点击我的网站.我知道最近MVC推出了自己的捆绑器.有没有人做过两者之间的比较?某种情况对另一种情况更好吗?或者它们基本相同?使用MVC捆绑包,IIS是否仍需要对站点目录的写访问权限?

您可能会有任何想法和评论.

谢谢.

asp.net-mvc bundler squishit asp.net-mvc-4

11
推荐指数
1
解决办法
2042
查看次数

在ASP.NET MVC 3中使用SquishIt

我正在尝试使用SquishIt来缩小ASP.NET MVC 3项目中的CSS和Javascripts.

当我使用Render方法时:

.Render("~/content/themes/base/combined_#.css");
Run Code Online (Sandbox Code Playgroud)

用随机数而不是#生成css,但是没有生成到css文件的链接,我需要手动将其插入到cshtml文件中:

<link href="~/content/themes/base/combined_#.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但我不知道这个随机数,添加到文件名.

没有#它工作正常.

但我觉得Render应该根据这篇文章自动生成css链接:

http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher

我对么?

squishit asp.net-mvc-3

10
推荐指数
2
解决办法
7411
查看次数

RequireJS Optimizer和VS 2010 Itegration

我想知道是否有任何VS 2010扩展用于触发requirejs优化,类似于squishit的工作方式:

  • 在调试模式下,模块文件保持独立
  • 在发布模式下,模块文件会缩小并合并

javascript amd visual-studio-2010 squishit requirejs

5
推荐指数
1
解决办法
293
查看次数

是什么导致Squishit重建捆绑包

谁能告诉我是什么原因导致Squishit在生产模式下重建捆绑包?

例如,如果我创建以下包,则会按预期创建文件"Site.Master_ {GUID} .css".

<%= Bundle.Css()
   .Add("~/css/reset.css")
   .Add("~/css/typography.css")
   .Add("~/css/styles.css")
   .Add("~/MasterPages/Site.Master.css")
   .Render("~/Cache/Site.Master_#.css")
%>
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除文件包文件,则不会重新创建.我通过反复试验发现,如果我将web.config文件更改为

<compilation debug="true" targetFramework="4.0" />
Run Code Online (Sandbox Code Playgroud)

然后回到假

<compilation debug="false" targetFramework="4.0" />
Run Code Online (Sandbox Code Playgroud)

下次请求页面然后重建包,但我想知道:

a)Squishit如何决定是否应该建造或重建特定的捆绑

b)如果有一种公认的方法可以重置Squishit来重建所有捆绑包 - 例如在缓存清理或站点更新之后.

谢谢.

asp.net squishit

5
推荐指数
1
解决办法
1744
查看次数

在Master页面中结合CSS和JS并使用SquishIt查看页面

如何实现SquishIt在View Pages中捆绑Css/Js并在Master页面中渲染它?我以为我可以在Render部分上方使用ContentPlaceHolder,但似乎有一些奇怪的行为,它有时会添加3个文件(视图页面中有1个文件,母版页中有2个文件)但是其他时候会忽略从View中添加的文件页.

的Index.aspx

<asp:Content ContentPlaceHolderID="CssFiles" runat="server">
    <% CssHelper.Add("home.css"); %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

的Site.Master

<asp:ContentPlaceHolder ID="CssFiles" runat="server" />
<% CssHelper.Add("reset.css"); %>
<% CssHelper.Add("master.css"); %>
<%=CssHelper.Render() %>
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案是围绕SquishIt的静态Bundle类的静态包装器,它将BundleBuilder保存在HttpContext.Current.Items中.

我很好奇这是否已成功完成以及如何做到这一点.

javascript css asp.net squishit

4
推荐指数
1
解决办法
2014
查看次数

哪一个在SquishIt和Combres2之间有更好的缩小?

有没有人对这两个库(Combres2和SquishIt)进行比较?如果一个库比另一个库好,我也想知道原因.

我发现文章说Combres2的压缩效果比SquishIt好.但差不多一年前.

http://blog.buzzuti.com/post/Combres-vs-SquishIt-e28093-A-battle-of-Minification-Combiner-and-Squishing-in-generale280a6.aspx

asp.net squishit combres

4
推荐指数
1
解决办法
3872
查看次数

缩小媒体查询?

我有一个完全有效的CSS样式表,它可以工作,并且可以识别查询,但是当我使用SquishIt缩小(并连接)样式表时,媒体查询似乎停止工作,我无法弄清楚原因.

这是缩小的CSS,美化:

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
border:0;
outline:0;
font-size:100%;
font:inherit;
vertical-align:baseline;
background:transparent;
color:inherit;
margin:0;
padding:0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
display:block;
}

body {
line-height:1;
word-wrap:break-word;
overflow-x:hidden;
font-family:"Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
}

ol,ul {
list-style:none;
margin-bottom:1em;
margin-left:30px;
}

blockquote,q {
quotes:none;
}

blockquote:before,blockquote:after,q:before,q:after {
content:none;
}

:focus {
outline:0;
}

table {
border-collapse:collapse;
border-spacing:0;
}

th {
text-align:left;
}

.layout-section {
width:93.75%;
text-align:left;
margin:0 auto;
}

header#layout-header {
margin-bottom:20px;
padding:12px 0;
}

header#layout-header h1 {
display:inline-block;
font-family:Calibri,Candara,Segoe,"Segoe UI",Optima,Arial,Helvetica,sans-serif;
font-weight:700;
font-size:2.4em;
margin:0 auto;
}

section#layout-content …
Run Code Online (Sandbox Code Playgroud)

css minify squishit media-queries

4
推荐指数
1
解决办法
4276
查看次数

如果启用静态压缩,IIS中的gzip js不会被压缩

我已经使用Squishit来缩小和捆绑JS并在IIS 7.5中压缩Bundled file I enabled选项(启用静态内容压缩)

问题是Js没有得到压缩,我只是得到了缩小的js但是如果我启用了动态内容压缩,那么Js会被压缩.

现在动态压缩的问题在于它不会缓存文件,并且在每个请求上都必须进行CPU占用时间的压缩.

有人可以帮我解释为什么js不会在静态内容压缩模式下被压缩

这是在客户端发送js的理想方式

JS -> Minify JS (Squishit) -> Compress (Static /Dynamic)
Run Code Online (Sandbox Code Playgroud)

gzip iis-7.5 squishit

4
推荐指数
1
解决办法
1945
查看次数

MVC3中的SquishIt ForceRelease不能正确地缩小JQuery插件

在使用第三方JQuery插件的MVC3应用程序中使用SquishIt时,我遇到了大量错误.在我的开发机器上,如果我在Bundle命令上设置ForceDebug方法,一切正常,JS正常处理.但是,如果我设置ForceRelease方法(在推出到生产之前进行测试),当我启动网站时,FireFox会显示"不是函数"错误.我尝试compilation debug="true"在web.config中设置没有任何改进.

以下是我的_layout.cshtml文件中的JS调用.所有捆绑都适用于标准JQuery插件:

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.18.custom.min.js")"></script>
@(Bundle.JavaScript()
    .Add("~/Scripts/modernizr-2.5.3.js")
    .Add("~/Scripts/jquery.fileinput.js")
    .Add("~/Scripts/jquery.numeric.js")
    .Add("~/Scripts/jquery.maskedinput-1.3.min.js")
    .Add("~/Scripts/jquery.maxlength_countdown.js")
    .Add("~/Scripts/jquery.qtip.min.js")
    .Add("~/Scripts/jquery.pnotify-1.1.0.min.js")
    .Add("~/Scripts/fileuploader.js")
    .Add("~/Scripts/jquery.dropdownchecklist-1.4.js")
    .Add("~/Scripts/jquery.blockUI.js")
    .Add("~/Scripts/jquery.textarearesizer.min.js")
    .ForceRelease()
    .MvcRender("~/CompiledContent/combined_#.js")
  )
Run Code Online (Sandbox Code Playgroud)

以下是FireFox显示的错误示例.这会根据我在捆绑包中的内容而改变:

function (n) {var i = (n.browser.msie ? "paste" : "input") + ".mask", t = window.orientation != undefined;n.mask = {definitions: {9: "[0-9]", a: "[A-Za-z]", '*': "[A-Za-z0-9]"}, dataName: "rawMaskFn"}, n.fn.extend({caret: function (n, t) {if (this.length != 0) {if (typeof n == "number") {return t = …

jquery-plugins squishit asp.net-mvc-3

3
推荐指数
1
解决办法
1649
查看次数

SquishIt在部署到托管时访问路径拒绝异常

在我的本地计算机上,以下代码表现完美.

@Html.Raw(SquishIt.Framework.Bundle.Css()
                                   .Add("~/css/normalize.css")
                                   .Add("~/css/nonsemantic.css")
                                   .Add("~/css/custom/basic/site.css")
                                   .ForceRelease()
                                   .Render("~/css/style.min.css"))
Run Code Online (Sandbox Code Playgroud)

在指定的目录下创建一个新的minified style.min.css文件.

但是,当我将我的代码部署到我的托管服务提供商时,我得到一个UnauthorizedAccessException,消息为"访问路径' C:\ ...\style.min.css '被拒绝".

我不认为这是我的SquishIt实现的问题,但我不能为我的生活想出这个.

iis asp.net-mvc unauthorizedaccessexcepti squishit

2
推荐指数
1
解决办法
1743
查看次数

squishit给出304(未修改)而不是200(来自缓存)

我使用"SquishIt"来合并我的.js和.css文件.问题是当所有其他资源都是200(来自缓存)时,squishit bundle会导致304(未更改).如果我以常规方式放置文件,我得到想要的200结果.我的代码示例:

@MvcHtmlString.Create(@Bundle.JavaScript().Add("~/Scripts/Libs/jquery.cookie.js").Add("~/Scripts/Libs/jquery.dynatree.min.js").Add("~/Scripts/Libs/jquery.json-2.3.min.js").Add("~/Scripts/Libs/jsrender.js").Add("~/Scripts/Libs/jstorage.min.js").Add("~/Scripts/Common/utils.js").Add("~/Scripts/DataServices/AccountDataServices.js").Add("~/Scripts/AccountSelection.js").WithMinifier<SquishIt.Framework.Minifiers.JavaScript.MsMinifier>().Render("~/Scripts/AccSelectionscriptBandle_#.js"))
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

编辑:我正在使用"Debug = false"; 所有其他资源都是200(来自缓存)

javascript css bundle browser-cache squishit

2
推荐指数
1
解决办法
1367
查看次数

使用SquishIt组合js文件没有效果?

@{
  ViewBag.Title = "Home Page";
  SquishIt.JavaScript.Add(
    Url.Content("~/Scripts/jquery_ui.js"),
    Url.Content("~/Scripts/jquery_1.4.4.js")
  );
}
@SquishIt.JavaScript.Render(Url.Content("~/Scripts/min.js"))
Run Code Online (Sandbox Code Playgroud)

它显示如下:

<script type="text/javascript" src="/Scripts/jquery_ui.js"></script>`
<script type="text/javascript" src="/Scripts/jquery_1.4.4.js"></script>`
Run Code Online (Sandbox Code Playgroud)

"min.js"在哪里?

这两个js文件没有组合成一个名为min.js的js?

谢谢!

squishit

0
推荐指数
1
解决办法
2249
查看次数