前端工程化的意义

工程化不是某个具体的工具,工程化的核心是对项目整体的规划和架构

解决的问题&带来的价值

1.每次开启新项目,都需要做一些重复性的工作,比如下载一些插件,定义项目结构。而工程化
可以对这些重复性操作做一个封装,以后每次只需要引用即可。避免了很多重复性操作
2.不同的开发人员的代码风格大相径庭,导致从仓库拉下的代码有时候无法直接使用,
而工程化可以很好的规范代码要求
3.想要使用Less/Sass去提高CSS的编程性,但是运行环境确不支持。工程化可以
帮助我们实现CSS代码编译,在运行的时候将Sass/Less转化为运行环境所支持的CSS代码
4.上线的时候需要手动压缩代码和资源文件,工程化可以帮助我们实现自动化,很大程度上解决了开发人员的工作量。
5.前端太过于以来后端接口,有一些问题甚至需要等待后端接口完成才能进行调试,而工程化提供了Mock ,来帮助我们进行开发阶段的调试,不再需要一定等待后端接口的完成。

深层的意义

脚手架同时还为我们提供了项目规范和公共约定。包括相同的组织结构、相同的开发范式、 相同的模块依赖、相同的工具配置、相同的基础代码。对于公司的大多数产品,前端开发人员都可以使用同一套脚手架,这样做不仅可以统一不同项目之间的代码风格和规范。而且当团队中有新成员接手项目时,也可以更快上手提高工作效率。
在创建项目结构时只是生成了一些可复用的代码及文件,更重要的是脚手架集成了编译,压缩,部署,配置等多个模块。成熟的脚手架,如:dva ,umi 除了实现上述功能之外还封装了常用的js库,比如dva简化了redux的使用方式,全局挂载了router,默认配置好了装饰器,全局的loading等等。总之,如果把lodash之类的 js 库比作是轮子,那么脚手架就是轮胎厂,它集成了项目上常用的配置,大大降低了开发者的学习成本。
提高了前端的逼格,拓展了前端的深度,形成了大前端的概念,前端不再是曾经的页面仔,也不是某些后端能写写html,js就能替代的,前端的学习路线能够更加深入,以至于当下前端的薪酬能够和java对标。前端在公司的地位在现如今也能够和java平起平坐(个人深有体会)。

你可能感兴趣的:(大前端)