【问题标题】:Minifying and publishing CSS and JavaScript using Visual Studio 2013 and LESS使用 Visual Studio 2013 和 LESS 压缩和发布 CSS 和 JavaScript
【发布时间】:2014-12-31 06:56:46
【问题描述】:

当我发布我的 MVC Web 应用程序时,我可以看到发布的位置获取了原始的 js 和 css 文件,当我运行它时它确实被缩小了(我可以在查看源代码中看到它)

这就是我正在做的:

        BundleTable.EnableOptimizations = true;

        bundles.UseCdn = false;
        var cssTransformer = new StyleTransformer();
        var jsTransformer = new ScriptTransformer();
        var nullOrderer = new NullOrderer();

        var cssBundle = new StyleBundle("~/bundles/css");
        cssBundle.Include("~/Content/Site.less", "~/Content/bootstrap/bootstrap.less");
        cssBundle.Transforms.Add(cssTransformer);
        cssBundle.Transforms.Add(new CssMinify());
        cssBundle.Orderer = nullOrderer;
        bundles.Add(cssBundle);

        var sampleCssBundle = new StyleBundle("~/bundles/sampleCss");
        sampleCssBundle.Include("~/Content/sample.css");
        sampleCssBundle.Transforms.Add(cssTransformer);
        sampleCssBundle.Transforms.Add(new CssMinify());
        sampleCssBundle.Orderer = nullOrderer;
        bundles.Add(sampleCssBundle);

        var sampleJsBundle = new ScriptBundle("~/bundles/sampleJs");
        sampleJsBundle.Include("~/Scripts/sample.js");
        sampleJsBundle.Transforms.Add(jsTransformer);
        sampleJsBundle.Transforms.Add(new JsMinify());
        sampleJsBundle.Orderer = nullOrderer;
        bundles.Add(sampleJsBundle);
  1. 如果我将文件的缩小版本部署到已发布的位置,我会获得更好的性能吗? (例如:myFile.min.js 和 myFile.min.css)

  2. 是否有在 Visual Studio 中生成文件的本机方法,以便我可以将其缩小发布? (我可以查看每个缩小的文件并将其保存为 myFile.min,但我希望有一种自动化的方式来完成)

提前致谢。

【问题讨论】:

    标签: visual-studio-2013 minify


    【解决方案1】:

    我总是很高兴看到有人调整他们的网站性能!

    1) 只要您引用的是捆绑包(而不是已发布的文件),发布缩小文件的影响可以忽略不计。捆绑系统仅读取文件一次,并将缩小和捆绑的版本缓存在内存中。生成的捆绑包使用包含在页面中的散列进行标识,并允许捆绑包的浏览器和代理缓存。当您发布的文件发生更改时,捆绑包将被更新,并且页面将使用新的捆绑包哈希。

    This answer 有更多关于缓存的信息。

    如果您对自动化“第一个请求”感兴趣,请探索Application Initialization

    2) Mads Kristensen 的Web Essentials extension 具有对 CSS 和 JavaScript 的缩小支持。从 Visual Studio 2013 Update 4 开始,没有可以创建缩小文件的内置工具。

    【讨论】:

    • 我很想了解更多有关如何缓存捆绑包的信息...您知道如果我需要推送一些 CSS 或 Javascript 更新,捆绑包如何失效?
    • 使用 Web Essentials 2013 对于任何开发人员来说确实是一件了不起的事情 - 下面的 url 帮助我详细了解了 JS 和 CSS 文件的缩小,希望对某人也有帮助 - cann0nf0dder.wordpress.com/2014/04/08/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 2011-04-10
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多