一般来说,脚手架是帮你减少「为减少重复性工作而做的重复性工作」的工具.

gulp和gulp-cli的区别可以看这个task - what does gulp-"cli" stands for? . 它跟前端常说的脚手架(scaffold)不是一个东西. CLI只是Command Line Interface的缩写.

====

举个例子
你要写一个项目0,源语言为ES6,用了sass, 后端是node. 你每次完成一部分功能,你都要用把ES6编译到ES5、编译sass、压缩html文件.
每次修改代码都要做的编译ES6、sass、压缩html这些就是 重复性工作.

后来你知道了gulp, 然后你写了个gulp脚本,每次有代码改动,一句gulp build就帮你完成了上面说的这些重复性工作.你写的gulp脚本就是 为减少重复性工作而做的工作.

你写完这个项目0之后,你又要写项目1,还是ES6、sass、后端node,还要完成之前的那些重复性工作. 这个时候你又为了这个项目写了一个类似gulp脚本.

后来你又写了项目2、项目3···,你每次都用相同的技术栈,每次的gulp脚本都大同小异,这时候你发现,写这么多gulp脚本也成了重复性工作. 这就是 为减少重复性工作而做的重复性工作.

而脚手架就可以帮你减少这些 为减少重复性工作而做的重复性工作. 脚手架一个命令,目录结构、gulp脚本、babel配置、空的测试文件都帮你搞好了. 直接写核心业务代码,不做重复性工作,这就是脚手架的作用.

当然一般不同的技术技术栈会有自己的目录结构、工作流程,所以很多前端框架比如vue、angular、 ember会有自己的脚手架工具(一般就叫XXX-cli). yeoman也可以根据不同的生成器(generator)成为不同项目的脚手架工具.

作者:flowmemo
链接:https://www.zhihu.com/questio...
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://segmentfault.com/a/1190000016670356

最新文章

  1. 打开gvim发现菜单栏是乱码
  2. WebKit的CSS扩展(WebKit是私有属性)
  3. noip 2016提高组D2T1 problem
  4. 预处理prepareStatement是怎么防止sql注入漏洞的?
  5. Flex 加载dxf
  6. 咏南IOCP REST中间件
  7. Yii框架第一步-- 安装
  8. Linux重置系统root密码
  9. IIS7下,flush无效,解决方案
  10. [原博客] POI系列(1)
  11. java实现xml文件增删改查
  12. 关于 plsql连接oracle数据库的问题
  13. JAVA课程设计个人博客 学生成绩管理 201521123014 黄绍桦
  14. Spring揭秘 读书笔记 三 bean的scope与FactoryBean
  15. springboot 不同环境切换不同的配置文件
  16. drf 之序列化组件
  17. nginx的启动、停止、重载配置、验证配置
  18. win10下btcd的安装和简单配置
  19. iQuery移动端手势事件插件-jGestures
  20. C# XML文件读取

热门文章

  1. one jar(转)
  2. SQL必知必会03 计算字段 获取当前日期时间 日期时间格式化
  3. html Css PC 移动端 公用部分样式代码整理
  4. python 基础(七) 异常处理
  5. UWP Popup 弹出提示框
  6. NFX UNISTACK 介绍
  7. asp.net,监听输入框值的即时变化onpropertychange、oninput
  8. slf4j介绍以及与Log4j、Log4j2、LogBack整合方法
  9. log4j2 日志框架小记
  10. 【转】onAttachedToWindow()在整个Activity生命周期的位置及使用