软件构建任务与技术

120 阅读2分钟

构建:run start build execute?

通用构建工具都叫task runner task task task 可是task是什么?

很难具体定义软件构建的 任务,因为复合的 任务种类太多,只能用一个很宽泛的定义 任务 是人造某存在的过程,所以可根据 存在目标 对 构建任务 进行分类

develop

第一大 存在 是 程序成品 ;故第一大类构建任务 ,是直接或间接是与制作 程序成品 相关

  • 程序成品:这里的成品是指开发完成,例如编译打包完成,但未安装到实际环境中;
  • 直接相关:就是不需进行二次转换,是成品的一部分,例如WGP的index.html等静态数据
  • 间接相关:需要二次转换操作,为最终制作成品提供数据,例如对JSX源码进行转换,SCSS文件进行转换等

deploy

第二大 存在 算是 软件成品,即面对用户的软件应用;

任务种类

转换文件:编译、压缩 执行一个程序:运行HTTP服务

shell编程 与 构建程序

一个script就是一个shell任务 无论是 开发构建,还是最的 发布部署 的「任务」,都是在系统 shell执行某种操作/处理 所以 项目构建 就是一种 shell编程,编出来的程序就叫 构建程序,所以 Build sys = 构建程序

  • make是一种直接shell编程
  • npm 使用 node app,有一点抽象
  • gulp/grunt 则 制作 JS app执行 构建任务——在node app之定制插件,更抽象和自由的定制 构建程序

像 lint | start | compile 等 正名 是 构建程序 的一子程序

构建:run start build execute? 一个script就是一个shell任务

构建程序 与 项目的 目标程序

构建程序的执行 可以 生产出 目标程序——一支具体有可被部署,或可运行,可安装 ,可被用户使用的 目标应用程序,构建程序 的产出是什么取决于你的应用程序的性质,例如,一般的WGP,构建程序(Build tool)的产出一般是HTTP服务支持的可运行的SPA。

可运行的SPA的结构性质,决定了 构建程序(Web dev Build tool) 形式与结构

grunt gulp webpack npm-script 可以说针对「项目构建任务」的几种技术。构建任务是啥理论?文件处理?数据处理?状态格局配置?

工具特性

任务