标签: bundling-and-minification

如何将捆绑和缩小的文件上载到Windows Azure CDN

我正在使用ASP.NET MVC 4捆绑和缩小Microsoft.AspNet.Web.Optimization命名空间中的功能(例如@Styles.Render("~/content/static/css")).

我想将它与Windows Azure CDN结合使用.

我考虑编写自定义,BundleTransform但内容尚未优化.

我还研究了在运行时解析和上传优化的流,但这对我来说就像是一个黑客,我真的不喜欢它:

@StylesCdn.Render(Url.AbsoluteContent(
    Styles.Url("~/content/static/css").ToString()
    ));

public static IHtmlString Render(string absolutePath)
{
    // get the version hash
    string versionHash = HttpUtility.ParseQueryString(
        new Uri(absolutePath).Query
        ).Get("v");

    // only parse and upload to CDN if version hash is different
    if (versionHash != _versionHash)
    {
        _versionHash = versionHash;

        WebClient client = new WebClient();
        Stream stream = client.OpenRead(absolutePath);

        UploadStreamToAzureCdn(stream);
    }

    var styleSheetLink = String.Format(
        "<link href=\"{0}://{1}/{2}/{3}?v={4}\" rel=\"stylesheet\" type=\"text/css\" />",
        cdnEndpointProtocol, cdnEndpointUrl, cdnContainer, cdnCssFileName, versionHash …
Run Code Online (Sandbox Code Playgroud)

cdn azure asp.net-mvc-4 bundling-and-minification asp.net-optimization

27
推荐指数
2
解决办法
7463
查看次数

MVC Bundling通过删除空格来破坏我的计算CSS语句?

我有这样的css语句:

margin-left: calc(50% - 480px);
Run Code Online (Sandbox Code Playgroud)

哪个工作没有明确,但是一旦我开始缩小,声明就会变为:

margin-left: calc(50%- 480px);
Run Code Online (Sandbox Code Playgroud)

渲染所有calc语句已损坏.类似的事情发生在宽度,最大宽度,最小宽度等等.有没有什么办法可以改变捆绑行为以保留这些CSS属性?

目前我只是bundles.Add(new Bundle())用来完全防止缩小,但如果我能正确缩小它会很好.

asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 bundling-and-minification

26
推荐指数
2
解决办法
3988
查看次数

如何调试Minification失败.返回未经授权的内容

我正在使用Asp.net MVC 4捆绑包来捆绑和缩小我的Css文件.

YSlow在下面显示此错误

 /* Minification failed. Returning unminified contents.
    (1442,26): run-time error CSS1019: Unexpected token, found ':'
    (1442,26): run-time error CSS1042: Expected function, found ':'
    (1442,26): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'
     */
Run Code Online (Sandbox Code Playgroud)

这是我的捆绑代码,

    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/site.css",
        "~/Content/fullcalendar.css",
        "~/Content/jquery.dropdown.css",
        "~/Content/jquery.tagit.css",
        "~/Content/tipsy.css"
        ));
Run Code Online (Sandbox Code Playgroud)

现在我将如何找出导致问题的css文件?我如何调试以找到导致问题的行?site.css是我写的唯一的css文件.

asp.net-mvc bundling-and-minification

26
推荐指数
2
解决办法
2万
查看次数

如何为发布模式设置debug false

我有这个web.config文件,其编译选项设置如下

Web.config文件

<configuration>
...
<system.web>
    <compilation debug="true" targetFramework="4.5" />
    ...
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这是默认情况下Visual Studio为发布模式提供的内容.

Web.Release.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
 <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
 </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我正在将它用于MVC4项目.基于本教程,我希望当应用程序在发布模式下运行时,将提供js和css的缩小版本.但这似乎并不起作用,并且正在提供js和css的非缩小版本.另一方面,如果我在web.config中明确地将debug设置为false,则正确提供最小版本.

当应用程序在发布模式下运行时,似乎编译标签转换问题,但我不明白Web.Release.config中的相同内容有什么问题.

简而言之,我无法通过在发布模式下运行应用程序来进行捆绑和缩小工作.

asp.net asp.net-mvc asp.net-mvc-4 bundling-and-minification web.config-transform

26
推荐指数
4
解决办法
2万
查看次数

asp.net mvc从bundle中排除css文件

我有这样的捆绑

bundles.Add(new StyleBundle("~/Content/themes/default/css")
       .IncludeDirectory("~/Content/themes/Default", "*.css"));
Run Code Online (Sandbox Code Playgroud)

但我想从中排除一个css文件.是否可以在不指定bundle中的每个css文件的情况下进行此操作?

asp.net-mvc bundling-and-minification

25
推荐指数
2
解决办法
8918
查看次数

MVC捆绑和缩小:将嵌入的图像转换为URL路径

在我的MVC5.1项目中,我正在使用CSS重写转换进行捆绑和缩小:

styleBundle.Include("~/Content/Site.css", new CssRewriteUrlTransform());
bundles.Add(styleBundle);
Run Code Online (Sandbox Code Playgroud)

CssRewriteUrlTransform转换相对于站点根目录的图像路径.但是,当我将图像嵌入到css中时:

span.file {
  background-image: url(data:image/png;base64,iVBORw0KGg+...2AAAAElFTkSuQmCC);
}
Run Code Online (Sandbox Code Playgroud)

这被翻译成了

span.file {
  background-image: url(http://localhost:52253/Content/data:image/png;base64,iVBORg...mCC);
}
Run Code Online (Sandbox Code Playgroud)

而且显然~/Content/data:image/png;base64...不存在.

有什么方法可以阻止这种情况发生,除了更新CSS文件不包括嵌入的图像?或者分成不同的CSS文件,其中使用实际的URL并对这些文件进行URL转换.而另一个只有嵌入图像的CSS.

css bundling-and-minification asp.net-mvc-5.1

25
推荐指数
3
解决办法
3337
查看次数

带有指纹资产的Chrome工作区

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

我们碰巧指纹我们的资产,以便通过网址引用它们styles.css?longuniquehash.很棒的做法 - 这样我们可以使用积极的缓存,并确保客户端将使用最新的资产.

但是,这会对工作空间产生一些反作用,因为每当更新URL时映射都会丢失.简而言之:我们映射styles.css?123到本地资源,我们更改它,并在页面刷新时返回,styles.css?234因为必须再次映射.

我们正在使用卡带,但问题可以通过指纹识别在任何设置上重现.我缺少一个设置或解决方法吗?

css google-chrome developer-tools cassette bundling-and-minification

25
推荐指数
1
解决办法
596
查看次数

使用Webpack,是否可以仅生成CSS,不包括output.js?

我使用的WebPack提取-文本的WebPack-插件.

在我的项目中,我有一些构建脚本.其中一个构建脚本应该只捆绑和缩小CSS.当我在其他脚本中使用Webpack时,我发现使用Webpack是一个好主意,即使我只想捆绑和缩小CSS.

它工作正常,除了我无法摆脱output.js文件.我不想要生成的webpack输出文件.我只想要这个特定脚本的CSS.

有没有办法摆脱最终的JS?如果没有,你是否建议任何其他专门用于处理CSS的工具?谢谢.

css node.js npm bundling-and-minification webpack

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

asp.net mvc Bundle.IncludeDirectory示例?

您好任何人都可以举例说明如何使用Scriptbundle方法IncludeDirectory for Javascripts,无法获得如何编写搜索模式字符串,它是正则表达式吗?

bundles.Add(new ScriptBundle("~/bundles/customjs").IncludeDirectory(
                "~/Scripts/Custom",?);
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc bundle asp.net-mvc-4 bundling-and-minification

24
推荐指数
1
解决办法
1万
查看次数

如何在Visual Studio 2015中缩小CSS和JavaScript文件

我正在使用visual studio构建一个移动Web应用程序,我想知道如何将所有CSS文件缩小为一个文件,以及将所有JavaScript缩小到一个缩小文件.

web-applications minify bundling-and-minification

24
推荐指数
2
解决办法
4万
查看次数