What are the advantages / disadvantages to running the LESS framework client-side vs. server-side? Does page load time take a hit if you run it client-side?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
On the server, you have to take more care with your cache control headers and you sacrifice a bit of CPU power.
On the client, it breaks if JS isn't available.
(For your production systems,) do it at build time and just serve up static CSS. That's efficient and reliable.
回答2:
Using ASP.NET MVC 4.0 Bundling you can use:
var bundle = new StyleBundle("~/Content/style").Include(
"~/Content/myStyles.less");
bundle.Transforms.Add(new LessTransform());
bundles.Add(bundle);
Everything will be handled very nicely. Caching, Transforming (server-side), bundling and ...
回答3:
Client-side:
Advantages:
- Better debugging
- May be easier in development
Disadvantages:
- Slower in terms of bandwidth
- Slower in terms of cpu performance (may affect mobile devices)
- Breaks without JS
Server-side:
Advantages:
- Faster
- Client JS independent
Disadvantages:
- A little bit more work to implement
My advise:
Never ever use client side in production. In development it may however be very useful to compile less client side.