why sass for css?
Sass都提供了一个更简单、更优雅的语法CSS,实现各种功能,是比较有用的管理css样式的一种新方式。
其实sass可以被看做是CSS3的扩展,其中也包括了许多cssnext的用法,包括变量、mixin等等函数或机制,使我们在编写代码时,大大提升开发效率,后续的维护、迭代甚至重构都更为简单。
当然其最终还是会被编译为当前支持的CSS的语法
sass也很容易入门,基本css的特性都保留着,只是增加了许多便利的新特性,总体来书其实sass让css更加贴近一门真正的编程语言,有变量、各种API、自定义函数。使得人们编写起来更加灵活,容易上手。
定义了一套新的CSS书写流程、规范,使得我们的CSS代码更加体系化、结构化,而不是之前冗余的一个个代码块。 嵌套、import
提高代码复用效率,后续维护效率。 提取出不变的、可复用的逻辑,用变量、函数、注入实现复用,保证项目的一致性和可用性
sass代码呈现出与设计或者说是视觉元素更加一致的效果,让后其的维护、纠错变得更加容易
为什么会选择webpack作为你工程化的一部分,他在你的工作中起到了什么作用?
模块化
不仅仅是JavaScript,其他的资源(CSS、img)依赖也可以自动化轻松解决。
1. webpack 遵循commonJS 的形式,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
2. 能被模块化的不仅仅是 JS ,所有的静态资源,例如css,图片等都能模块化,即以require的方式引入。
自动化构建
提高开发效率,能替代部分 grunt/gulp 的工作(比如打包、压缩混淆、图片转base64等),为你提供相对完善的一套自动化方案,并且还在不断迭代完善,包括打包中的作用域优化,去重,常量替换,删除不执行代码等,除了内置功能和插件外,自己可以自定义插件。
总体来说,webpack是模块化加载器兼打包工具,可以把各种资源都作为模块来使用和处理,具有前端构建的功能,只不过通过插件实现了构建工具的一些功能。