在现场生产环境中使用较少服务器端与客户端的优缺点是什么?为什么要将我的少量转换成静态CSS,并在使用时使用?据我了解,css被缓存服务器端和客户端,所以速度不应该是一个问题,js不可用是不是一个问题,因为我的应用程序非常依赖于javascript,所以如果它不可用我会有更大的问题。我不完全明白服务器端的编译是如何工作的….谢谢
解决方法
我在一个使用LESS的大型项目上工作。我们在客户端(在开发环境中)编译的主要问题是,由于客户端编译需要JavaScript,并且打印将页面复制到没有启用JavaScript的纸张,所以每当任何人打印页面时,它将完全没有出现。即使您的应用程序使用了大量的JavaScript,如果要支持打印,则需要编译服务器端或提供静态CSS。
最适合我们的解决方案是在开发环境中运行node.js来即时编译LESS服务器端,然后在将站点部署到生产时将其预编译为单个gzip压缩的css文件。
在我们的案例(每个LESS文件一个)中,预编译还可以将客户端每个页面的单个文件请求数量减少到单个CSS文件,并通过避免编译步骤(哪个客户端less.js必须在页面开始呈现之前每隔一段时间运行一个新页面导航到。)
我不建议在现场生产环境中即时在服务器端进行编译,因为这会增加大量不必要的处理器负载。如果您提前编译它,将不会消耗比单个普通CSS文件更多的服务器资源。