工程化是什么
技术是为了解决问题而存在的
一切以提高效率、降低成本、质量保证为目的的手段都属于工程化;
为什么要工程化
- 传统语言或语法的弊端,想要使用 es6 新特性,less/sass 等
- 无法使用模块化、组件化
- 重复的机械式工作
- 代码风格统一、质量保证
- 依赖后端服务接口支持
- 整体依赖后端项目
工程化就是为了解决上面问题。例如:1.脚手架(vue-cli是工程化的集成,包含了脚手架)是为了不用机械化的重复创建项目的基础代码(项目基本目录结构,公共方法等);2.使用打包工具将开发代码打包压缩成生产代码;
工程化需要学习的内容
一切重复的工作都该被自动化
创建项目 | 编码 | 预览/测试 | 提交 | 部署 |
---|---|---|---|---|
1.创建项目结构; 2.创建特定类型文件 | 1.格式化代码; 2.代码风格检验; 3.编译构建打包 | 1.Web Server/Mock 2.Live Reloading / HMR 3. source map | 1.Git Hooks 2.Lint-staged 3. 持续集成 | 1.CI/CD 2.自动发布 |
工程化不是某一个工具,而是一个集合,包含了以下以及其他
- 脚手架的作用
- 自动化构建系统
- 模块化打包
- 项目代码规范化
- 自动化部署
一些成熟的工程化集成
- create-react-app
- vue-cli
- angular-cli
工程化的核心是 Node.js