技术是为了解决问题存在的

以前那种写demo套模板,曾经远远不能满足咱们当初开发要求了,所以就有了前端工程化的概念。

既然说了技术是为了解决问题存在的,前端工程化也不例外。
问题:

  • 想应用es6+新个性,然而浏览器不兼容
  • 想要应用less,sass,PostCss加强css个性,然而运行环境不能间接反对
  • 想要模块化的形式进步我的项目可维护性,然而运行环境不能间接反对
  • 部署前须要手动压缩代码及资源文件
  • 部署过程须要手动上传代码到服务器
  • 多人协同开发,无奈硬性对立大家代码格调,从仓库pull代码品质无奈保障
  • 局部性能开发时须要期待后端服务接口提前完成
次要解决的问题:

工程化的体现:所有以提高效率,降低成本,质量保证为目标的伎俩都属于工程化。
所有反复的工作都应该被工程化。

创立我的项目:

  • 创立我的项目构造
  • 创立特定类型文件

编码:

  • 格式化代码
  • 校验代码格调
  • 编译/构建/打包

预览/测试:

  • web Server/Mock
  • Live Reloading/HMR
  • Source Map

提交:

  • Git Hooks
  • Lint-staged
  • 继续集成

部署:

  • CI/CD
  • 主动公布
工程化不是某个工具