当前位置: 首页 > news >正文

什么是前端工程化?

工程化介绍

什么是前端工程化?

前端工程化是一种思想,而不是某种技术。主要目的是为了提高效率和降低成本,也就是说在开发的过程中可以提高开发效率,减少不必要的重复性工作等。

tip 现实生活举例
建房子谁不会呢?请几个工人一上来就开始弄,在建筑的过程中缺了材料就叫个工人去买,发现工期快到了来不及了,就马上多请几个人回来弄。客户又说这里改改,那里改改。最终却是可以把房子建起来,但是很容易出现问题,出现问题了又是谁的责任。

这种最多也只能称为建房子,而建筑工程却不一样,按照工程的流程应该是这样的,首先会画图纸、确定房子的结构、确定用料和预算以及工期,另外需要用到什么工种以及多少工人等等,一般都是先打地基在建框架再填充墙体,这样捡起来的房子才会更加的稳固。

出现问题也可以快速定位到源头和负责人。这里只是举个例子,我也没有做过建筑工程。

借鉴上面的工程化思想,可以得出来我们前端工程化需要具备模块化、组件化、规范化、自动化四个方面。

模块化

模块化就是把一个大的文件,拆分成多个互相依赖的小文件,按照一个一个模块来划分。在前端领域上就是把 JS 复杂的逻辑代码拆分成多个简单的模块,在组合成一个功能。

组件化

跟模块化很类似,在前端领域上,例如页面就可以看成是一个大的组件,这个大的组件可以拆分成多个中型组件,中型组件还可以继续在拆分成多个小型组件。

组件化 ≠ 模块化。模块化只是在文件层面上,对代码和资源进行拆分。组件化是在设计层面上,对 UI 视图部分的拆分。

规范化

在项目规划初期制定的好坏对于后期的开发有一定影响。

包含以下规范:

  • 目录结构的制定
  • 编码规范
  • 前后端接口规范
  • 文档规范
  • 组件管理
  • Git 分支管理
  • Commit 描述规范
  • 定期 codeReview
  • 视觉图标规范

自动化

也就是简单重复的工作交给机器来做,自动化也就是有很多自动化工具代替我们来完成,例如持续集成、自动化构建、自动化部署、自动化测试等等。

原文链接:菜园前端

相关文章:

什么是前端工程化?

工程化介绍 什么是前端工程化? 前端工程化是一种思想,而不是某种技术。主要目的是为了提高效率和降低成本,也就是说在开发的过程中可以提高开发效率,减少不必要的重复性工作等。 tip 现实生活举例 建房子谁不会呢?请…...

【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程

【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程 文章目录 【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程前言确定版本对应关系源码编译安装tiny-cuda-nn总结 前言 本人windows11下使用【Instant Neural Surface Reconstruction】算法时需要…...

Matlab 一种自适应搜索半径的特征提取方法

文章目录 一、简介二、实现代码参考资料一、简介 在之前的博客(C++ ID3决策树)中,提到过一种信息熵的概念,其中它表达的大致意思为:香农认为熵是指“当一件事情有多种可能情况时,这件事情发生某种情况的不确定性”,也就是指如果一个事情的不确定性越大,那么这个信息的熵…...

基于opencv的几种图像滤波

一、介绍 盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波。 boxFilter() blur() GaussianBlur() medianBlur() bilateralFilter() 二、代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> …...

puppeteer代理的搭建和配置

puppeteer代理的搭建和配置 本文深入探讨了Puppeteer在网络爬虫和自动化测试中的重要角色&#xff0c;着重介绍了如何搭建和配置代理服务器&#xff0c;以优化Puppeteer的功能和性能。文章首先介绍了Puppeteer作为一个强大的Headless浏览器自动化工具的优势和应用场景&#xf…...

【简单认识MySQL的MHA高可用配置】

文章目录 一、简介1、概述2、MHA 的组成3&#xff0e;MHA 的特点4、MHA工作原理 二、搭建MHA高可用数据库群集1.主从复制2.MHA配置 三、故障模拟四、故障修复步骤&#xff1a; 一、简介 1、概述 MHA&#xff08;Master High Availability&#xff09;是一套优秀的MySQL高可用…...

【云原生】一文学会Docker存储所有特性

目录 1.Volumes 1.Volumes使用场景 2.持久将资源存放 3. 只读挂载 2.Bind mount Bind mounts使用场景 3.tmpfs mounts使用场景 4.Bind mounts和Volumes行为上的差异 5.docker file将存储内置到镜像中 6.volumes管理 1.查看存储卷 2.删除存储卷 3.查看存储卷的详细信息…...

Android Ble蓝牙App(一)扫描

Ble蓝牙App&#xff08;一&#xff09;扫描 前言正文一、基本配置二、扫描准备三、扫描页面① 增加UI布局② 点击监听③ 扫描处理④ 广播处理 四、权限处理五、扫描结果① 列表适配器② 扫描结果处理③ 接收结果 六、源码 前言 关于低功耗的蓝牙介绍我已经做过很多了&#xff0…...

mac pd安装ubuntu并配置远程连接

背景 一个安静的下午&#xff0c;我又想去折腾点什么了。准备学习一下k8s的&#xff0c;但是没有服务器。把我给折腾的&#xff0c;在抱怨了&#xff1a;为什么M系列芯片的资源怎么这么少。 好在伙伴说&#xff0c;你可以尝试一下ubantu。于是&#xff0c;我只好在我的mac上安…...

1.3 eureka+ribbon,完成服务注册与调用,负载均衡源码追踪

本篇继先前发布的1.2 eureka注册中心&#xff0c;完成服务注册的内容。 目录 环境搭建 采用eurekaribbon的方式&#xff0c;对多个user服务发送请求&#xff0c;并实现负载均衡 负载均衡原理 负载均衡源码追踪 负载均衡策略 如何选择负载均衡策略&#xff1f; 饥饿加载…...

mysql修改字段长度是否锁表

Varchar对于小于等于255字节以内的长度可以使用一个byte 存储。大于255个字节的长度则需要使用2个byte存储 1&#xff0c; 如果是255长度之内的扩展&#xff0c;或者255之外的扩展&#xff0c;则不锁表&#xff0c;采用in-place方式执行 2&#xff0c; 如果从varchar长度从(0,2…...

SpringCloud集成OpenTelemetry的实现

SpringCloud项目做链路追踪&#xff0c;比较常见的会集成SleuthZipKin来完成&#xff0c;但这次的需求要集成开源框架OpenTelemetry&#xff0c;这里整理下实现过程。相关文章&#xff1a; 【SpringCloud集成SleuthZipkin进行链路追踪】 【OpenTelemetry框架Trace部分整理】 …...

Python爬取IP归属地信息及各个地区天气信息

一、实现样式 二、核心点 1、语言&#xff1a;Python、HTML&#xff0c;CSS 2、python web框架 Flask 3、三方库&#xff1a;requests、xpath 4、爬取网站&#xff1a;https://ip138.com/ 5、文档结构 三、代码 ipquery.py import requests from lxml import etree # 请求…...

RedLock + Redisson

目录 2.9 RedLock2.9.1 上述实现的分布式锁在集群状态下失效的原因2.9.2 解决方式-RedLock 2.10 redisson中的分布式锁2.10.0 redisson简介以及简单使用简单使用redisson中的锁Redisson常用配置 2.10.1 Redisson可重入锁实现原理2.10.2 公平锁&#xff08;Fair Lock&#xff09…...

计算机视觉:卷积层的参数量是多少?

本文重点 卷积核的参数量是卷积神经网络中一个重要的概念,它决定了网络的复杂度和计算量。在深度学习中,卷积操作是一种常用的操作,用于提取图像、语音等数据中的特征。卷积神经网络的优势点在于稀疏连接和权值共享,这使得卷积核的参数相较于传统的神经网络要少很多。 举例…...

Docker 容器基础操作

Docker容器基础操作 容器(container)是Docker镜像的运行实例,类似于可执行文件与进程的关系,Docker是容器引擎,相当于系统平台。 容器的生命周期 容器的基础操作(以 tomcat8.0 为例) # 拉取tomcat8.0镜像 [root@tudou tudou]# docker pull tomcat:8.0 8.0: Pulling f…...

【Vue3+Ts+Vite】配置滚动条样式

一、先看效果 二、直接上代码 <template><div class"main-container"><h1 v-for"index in 50" :key"index">这是home页面</h1></div> </template> <style lang"scss" scoped> .main-conta…...

react map使用方法详解

在React中&#xff0c;map()方法是用于数组的常见方法之一&#xff0c;它可以用于处理数组并返回一个新的数组。在React中&#xff0c;经常使用map()方法来遍历数组&#xff0c;生成对应的组件列表或进行数据转换操作。 下面是map()方法在React中的使用方法详解&#xff1a; …...

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

PoseiSwap 是 Nautilus Chain 上的首个 DEX&#xff0c;作为目前行业内模块化区块链叙事的早期奉行者&#xff0c;PoseiSwap 也得到了较高的市场关注。基于 Nautilus Chain&#xff0c;PoseiSwap 打造了一个全新的 Rollup 应用层&#xff0c;并通过零知识证明来建立全新的订单簿…...

PHP8的常量-PHP8知识详解

常量和变量是构成PHP程序的基础&#xff0c;在PHP8中常量的这一节中&#xff0c;主要讲到了定义常量和预定义常量两大知识点。 一、定义常量 定义常量也叫声明常量。在PHP8中&#xff0c;常量就是一个标识符&#xff08;名字&#xff09;&#xff0c;一旦定义&#xff08;声明&…...

Unity ShaderGraph工程化实践:从可视化到生产级渲染

1. 为什么我劝新手别急着写第一行Shader代码——从Unity ShaderGraph的“可视化错觉”说起 刚接触Unity渲染管线的新手&#xff0c;十有八九会经历这样一个阶段&#xff1a;在B站搜“Unity Shader教程”&#xff0c;点开前三个视频&#xff0c;前两分钟听着“顶点着色器负责位置…...

企业数字化破局:AI低代码为何是唯一刚需?

聊企业数字化转型&#xff0c;现在最绕不开的就是AI低代码。但很多技术人仍有偏见&#xff1a;“低代码低技术”“AI能写代码&#xff0c;没必要用低代码”“中小企业用不起&#xff0c;大企业用不上”。真相很扎心&#xff1a;信通院2026年数据显示&#xff0c;AI低代码化率已…...

Pipeline五大核心要素拆解:从输入到输出的自动化流程设计

1. 项目概述&#xff1a;为什么我们需要拆解Pipeline的基本要素&#xff1f;在任何一个涉及流程化、自动化处理的领域&#xff0c;无论是软件开发中的CI/CD&#xff08;持续集成/持续部署&#xff09;&#xff0c;还是数据科学中的数据预处理与分析&#xff0c;甚至是制造业中的…...

记录人生第一个Linux内核Patch被采纳的经历

最近运气不错&#xff0c;提交的一个关于 Linux 内核 SMMUv3 驱动的补丁&#xff08;Patch&#xff09;被采纳了。虽然只是一个边界条件的微调&#xff0c;但作为自己的第一个 Patch&#xff0c;过程还挺有意思的&#xff0c;中间也暴露出自己不少技术盲区。趁着记忆热乎&#…...

微信聊天记录丢了怎么找回?这份教程很实用

你是否经历过这样的崩溃瞬间&#xff1a;手机清理空间时不小心删了微信聊天记录&#xff0c;或者重装微信后发现重要的对话全部消失&#xff1f;别慌&#xff0c;本文将系统梳理微信聊天记录丢失的常见原因&#xff0c;并提供多种经过验证的恢复方案&#xff0c;从微信官方自带…...

2026年最佳手机阅读器推荐:付费也值得的精品选择

在数字时代&#xff0c;阅读方式正在发生深刻变革。随着电子书、在线文章和多媒体内容的兴起&#xff0c;人们越来越倾向于通过智能手机进行阅读。然而&#xff0c;并非所有的阅读器都能提供优质的阅读体验。今天&#xff0c;我们将聚焦于一款即便付费也绝对物超所值的手机阅读…...

解密Palantir系列一:1. 决策的三元闭环

解密Palantir系列一&#xff1a;1. 决策的三元闭环 第一性问题企业真正缺的是更多数据&#xff0c;还是让数据变成正确行动的闭环&#xff1f;很多人第一次理解 Palantir&#xff0c;会把它归类成“大数据公司”“AI 公司”“可视化工具”或“咨询公司”。这些说法都只碰到了一…...

VMware虚拟机安装及配置

密码 # 设置 root 用户密码 sudo passwd root修改国内镜像源 在 Ubuntu 24.04 之前&#xff0c;Ubuntu 的软件源配置文件路径为 /etc/apt/sources.list&#xff1b;从 Ubuntu 24.04 开始&#xff0c;Ubuntu 的软件源配置文件变更为 DEB822 格式&#xff0c;路径为 /etc/apt/so…...

Win11系统下,Java开发环境配置保姆级教程(JDK 8u201安装+环境变量避坑指南)

Win11系统Java开发环境配置全攻略&#xff1a;从零开始避坑指南 刚接触Java编程的新手们&#xff0c;面对陌生的开发环境配置往往感到无从下手。特别是对于非计算机专业背景的学习者来说&#xff0c;那些晦涩的术语和复杂的系统设置就像一堵高墙&#xff0c;让人望而生畏。本文…...

ARM NEON中的VMLAL/VMLSL指令详解与优化实践

1. ARM SIMD指令集概述在嵌入式系统和移动计算领域&#xff0c;ARM架构凭借其出色的能效比占据了主导地位。随着多媒体处理、机器学习等计算密集型任务的普及&#xff0c;单指令多数据流(SIMD)技术成为提升处理器性能的关键手段。ARM的Advanced SIMD扩展(通常称为NEON技术)提供…...