当我发布我的MVC网络应用程序时,我可以看到发布的位置获取原始的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);
如果我将缩小版本的文件部署到发布的位置,我会获得更好的性能吗? (例如:myFile.min.js和myFile.min.css)
是否有一种在Visual Studio中生成文件的本机方式,因此我可以将其缩小发布? (我可以查看每个缩小的文件并将其保存为myFile.min,但我希望有一种自动方式来执行此操作)
提前致谢。
答案 0 :(得分:1)
我总是很高兴看到有人调整他们的网站效果!
1)只要您引用捆绑包(而不是已发布的文件),发布缩小文件的影响可以忽略不计。捆绑系统仅读取文件一次,并将缩小和捆绑的版本缓存在内存中。生成的包使用页面中包含的哈希标识,并允许对包进行浏览器和代理缓存。当您发布的文件发生更改时,将更新该包,页面将使用新的包哈希。
This answer提供了有关缓存的其他信息。
如果您有兴趣自动化第一个请求"探索Application Initialization
2)Mads Kristensen的Web Essentials extension对CSS和JavaScript有了缩小支持。从Visual Studio 2013 Update 4开始,没有可以创建缩小文件的内置工具。