css预编译器之间的区别和联系

html-css022

css预编译器之间的区别和联系,第1张

基本语法区别:

在使用 CSS 预处理器之前最重要的是理解语法,幸运的是基本上大多数预处理器的语法跟 CSS 都差不多。

首先 Sass 和 Less 都使用的是标准的 CSS 语法,因此如果可以很方便的将已有的 CSS 代码转为预处理器代码,默认 Sass 使用 .sass 扩展名,而 Less 使用 .less 扩展名。

/* style.scss or style.less */h1 {color: #0982C1}12341234

这是一个再普通不过的,不过 Sass 同时也支持老的语法,就是不包含花括号和分号的方式:

/* style.sass */h1color: #0982c1123123

而 Stylus 支持的语法要更多样性一点,它默认使用 .styl 的文件扩展名,下面是 Stylus 支持的语法:

/* style.styl */h1 {color: #0982C1}/* omit brackets */h1color: #0982C1/* omit colons and semi-colons */h1color #0982C1123456789101112123456789101112

可以在同一个样式单中使用不同的变量,例如下面的写法也不会报错:

h1 {color #0982c1}h2font-size: 1.2em1234512345

先说问题,css预编译器,前端都必须要使用吗?当然是非必需的,如果是小的项目没必要使用,但是项目大了之后css预编译器的优势才会凸显出来,配合postcss整个项目的css文件会有极大的压缩

不能。HTML可能经过文本压缩及字符转换。CSS可能做过自动追加前缀,压缩,或者根本就是用预编译器写出来的。Javascript可能经过压缩,优化。另外,如果打包配置中未设置pathinfo为true的话,将不会包含源文件路径。就算多增加一个空格也和原始的不同了吧?不过,当webpack打包时,可以配置生成.map文件,使用此文件可以还原原文件。