前端工程化的理解

 我来答
黑科技1718
2022-06-18 · TA获得超过5873个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:81.7万
展开全部

目前来说,web业务日益复杂化和多元化,前端开发从WebPage模式为主转变为WebApp模式为主了。前端的开发工作在一些场景下被认为只是日常的一项简单工作,或只是某个项目的"附属品",并没有被当做一个"软件"而认真对待(无论是产品负责人还是开发者)。

在模式的转变下,前端都已经不是过去的拼几个页面和搞几个jq插件就能完成。当工程复杂就会产生许多问题,比如:

前端工程化 是使用软件工程的技术和方法来进行前端的开发流程、技术、工具、经验等规范化、标准化,其主要目的 为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间 ,而前端工程本质上是软件工程的一种,因此我们应该从软件工程的角度来研究前端工程。

"前端工程化"里面的工程指 软件工程 ,和我们一般说的 工程 是两个完全不同的概念。

前端工程化就是为了让前端开发能够“自成体系”,个人认为主要应该从 模块化 组件化 规范化 自动化 四个方面思考。

从UI拆分下来的 每个包含模板(HTML)+样式(CSS)+逻辑(JS)功能完备的结构单元 ,我们称之为 组件

其实,组件化更重要是一种分治思想。

页面上所有的东西都是组件。页面是个大型组件,可以拆成若干个中型组件,然后中型组件还可以再拆,拆成若干个小型组件,小型组件也可以再拆,直到拆成DOM元素为止。DOM元素可以看成是浏览器自身的组件,作为组件的基本单元。

传统前端框架/类库的思想是先组织DOM,然后把某些可复用的逻辑封装成组件来操作DOM,是DOM优先;而组件化框架/类库的思想是先来构思组件,然后用DOM这种基本单元结合相应逻辑来实现组件,是组件优先。这是两者本质的区别。

其次,组件化实际上是一种按照模板(HTML)+样式(CSS)+逻辑(JS)三位一体的形式 对面向对象的进一步抽象。

所以我们除了封装组件本身,还要合理处理组件之间的关系,比如 (逻辑)继承 (样式)扩展 (模板)嵌套 包含 等,这些关系都可以归为 依赖

目前市面上的组件化框架很多,主要的有Vue、React、Angular。Vue文档中的对比其他框架一文已经讲得很详细了。

规范化其实是工程化中很重要的一个部分,项目初期规范制定的好坏会直接影响到后期的开发质量。

比如:

前端工程化的很多脏活累活都应该交给自动化工具来完成。需要秉持的一个理念是:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式