任务流工具
传统的前端开发在最终发布前需要经历几个重要的阶段,也可以叫做任务流:
- 代码检查
- 编译SCSS文件
- 合并sprite图片
- 压缩合并代码
后来出现了工具可以帮助前端工程师方便的完成这类工作,我们把它们就叫做任务流工具,比如grunt、gulp。
模块打包器
任务流工具看起来能帮助前端工程师解决很多问题,似乎无所不能,但是它们有什么做不到的么?当然是有的,任务流工具无法帮助模块化开发。
随着common.js和es6的出现,模块化开发在前端有了越来越多的实践。有一个工具能够让我们在开发的时候使用标准的模块化语法,而上线的时候又帮助我们编译、转换、合并成单个文件让浏览器运行,这个工具就是webpack。
webpack还可以帮我们做一些任务流工具做的事情,比如说编译文件,比如说代码检查。
项目依赖&开发依赖
如果你的项目使用到了webpack和gulp,它们也属于项目依赖,但这些与bootstrap、axios等有着根本的不同。webpack、gulp之类的,我们叫做开发依赖,而类似bootstrap、axios等的库叫做生产依赖。
区分开发依赖和生产依赖有个简单的小技巧:当你的项目放到浏览器运行的时候,你还需要它吗?如果需要,那就是生产依赖。