要做出正确的决定,您应该知道您必须支持哪些浏览器。 Yous也应该考虑Graceful degradation。
个人我认为运行较少与autoprefix和clean-css在大多数情况下是安全的选择。
测试很简单:
npm install less
npm install less-plugin-clean-css
npm install less-plugin-autoprefix
lessc source.less production.css --autoprefix --clean-css
注意,你可以设置你的目标浏览器作为autoprefix插件参数。为了支持与Bootstrap相同的浏览器,请使用以下内容:
--autoprefix='Android 2.3','Android >= 4','Chrome >= 20','Firefox >= 24','iOS >= 6','Opera >= 12','Safari >= 6'
你说得对。供应商前缀会使您的CSS文件变大。你应该注意到你可以压缩/缩小你的代码(也是zip),你的代码可以被浏览器缓存。
您应该将较大的代码与-prefix-fee进行比较; 2kb gziped一个额外的http进程和一些JavaScript处理。维拉解释了为什么使用它可能是一个好主意:http://css-tricks.com/five-questions-with-lea-verou/
你的想法是介于上述两个解决方案之间的某处。你的css代码可能会稍小一些,但你仍然需要一些JavaScript处理来找出用户的浏览器。
我也可以使用一些ide插件在较少的文件中添加前缀,但是>使得css文件变得庞大且难以调试。
您可以将autoprefix插件与CSS源代码一起使用,以方便调试(使用Less编译器的--source-map选项)。在大多数情况下,您将拥有开发和生产版本的代码。
正如@ seven-phases-max已经说明的那样,您可以将所有上述内容集成到Grunt或Gulp的构建链中。
[Autoprefixer](https://github.com/postcss/autoprefixer)。 – 2015-02-11 16:14:44
你能告诉它它做了什么,从我得到它需要最终的CSS和前缀与所有浏览器前缀对吗? – 2015-02-11 18:05:44
好吧,它几乎可以在任何shell格式下使用,包括['lessc' plugin](https://github.com/less/less-plugin-autoprefix)(所以你可以随时随地使用它,例如任何你需要的东西。如果'Grunt'是你的构建链的一部分,那么使用它作为[Grunt插件](https://github.com/nDmitry/grunt-autoprefixer)而不是所提及的'lessc'插件更加灵活。 – 2015-02-11 19:05:50