技术是为了解决问题存在的
以前那种写 demo 套模板,曾经远远不能满足咱们当初开发要求了,所以就有了前端工程化的概念。
既然说了技术是为了解决问题存在的,前端工程化也不例外。
问题:
- 想应用 es6+ 新个性,然而浏览器不兼容
- 想要应用 less,sass,PostCss 加强 css 个性,然而运行环境不能间接反对
- 想要模块化的形式进步我的项目可维护性,然而运行环境不能间接反对
- 部署前须要 手动 压缩代码及资源文件
- 部署过程须要 手动 上传代码到服务器
- 多人协同开发,无奈硬性对立大家代码格调,从仓库 pull 代码品质无奈保障
- 局部性能开发时须要期待后端服务接口提前完成
次要解决的问题:
工程化的体现:所有以提高效率,降低成本,质量保证为目标的伎俩都属于工程化。
所有反复的工作都应该被工程化。
创立我的项目:
- 创立我的项目构造
- 创立特定类型文件
编码:
- 格式化代码
- 校验代码格调
- 编译 / 构建 / 打包
预览 / 测试:
- web Server/Mock
- Live Reloading/HMR
- Source Map
提交:
- Git Hooks
- Lint-staged
- 继续集成
部署:
- CI/CD
- 主动公布