前端性能优化四十七:工程目录设计范式种类

1. 模块化:

. 将一个复杂应用根据预设规范封装为多个块并组合起来:a. 对内实现数据私有化b. 对外暴露接口、其它模块通信②. 在前端工程化具体体现:a. 在文件层面上对代码与资源实现拆分与组装b. 将一个大文件拆分为互相依赖的小文件,再统一拼装与加载

1. 工程目录设计范式种类:

(1). Rails Style:

. 特点:a. 专注纵向的"层"的划分b. 同一类文件放置在同一目录下②. 优势:a. 便于合并导出b. 便于进行"层"的扩展③. 不足:a. 依赖关系难以直接地分析b. 对功能的修改会涉及到大量的目录切换c. 难以水平拆分

2. 目录结构:

(1). Rails Style:

// egg应用典型结构
|── app               
|   ├── config     
|   ├── controller
|   ├── extend
|   ├── public
|   ├── router.ts
|   ├── service
|   └── view      
├── app.ts                    
├── agent.ts
├── config
├── logs
├── test
└── typings
// Rails Style TodoList
root
|── reducers              
|   ├── todoReducer.js
|   └── fileterReducer.js
├── actions                 
|   ├── todoActions.js                         
|   └── filterAction.js
├── components                 
|   ├── todoList.jsx
|   ├── todoItem.jsx               
|   └── filter.jsx
├── containers                 
|   ├── todoListContainer.jsx
|   ├── todoItemContainer.jsx               
|   └── filterContainer.jsx
├── App.jsx
└── index.js

3. 如何选择工程范式:

(1). 单一功能的项目:

. 场景:a. 库b. 第三方包fs-extra、axios等②. 风格:Rails Style③. 理由:a. 不存在水平拆分的必要性b. 易于扩展c. 减少重复代码

目录层级:

// Axios
root
|── dist              
|   └── ...
├── examples                                     
|   └── ...
├── lib                 
|   ├── adapters
|   |    └── ...
|   ├── cancel
|   |    └── ...
|   ├── core
|   |     └── ...   
|   ├── defaults.js       
|   └── axios.js
├── sandbox                                     
|   └── ...
└── test

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜维尔科技:Geomagic Phantom Premium 1.5六自由度力反馈设备开箱测试!

搜维尔科技:Geomagic Phantom Premium 1.5六自由度力反馈设备开箱测试! Geomagic Phantom系列产品中首屈一指的力反馈产品Phantom Premium 六自由度力反馈设备(原Sensable)能够提供高度精确的3D对象操作,使用户能够探索…

在Go中解析HTTP请求中的表单数据

想象一下,你收到了一封神秘的信件,信上写着:“在HTTP请求的表单数据中,隐藏着一座宝藏,等待勇敢的冒险者前来寻找。” 你知道,这封信正是冲着你来的!今天,我们将使用Go语言作为我们的…

VMware17Pro虚拟机安装Linux CentOS 7.9(龙蜥)教程(超详细)

目录 1. 前言2. 下载所需文件3. 安装VMware3.1 安装3.2 启动并查看版本信息3.3 虚拟机默认位置配置 4. 安装Linux4.1 新建虚拟机4.2 安装操作系统4.2.1 选择 ISO 映像文件4.2.2 开启虚拟机4.2.3 选择语言4.2.4 软件选择4.2.5 禁用KDUMP4.2.6 安装位置配置4.2.7 网络和主机名配置…

GBASE南大通用数据库分享访问多个数据库的 SQL 语句

您可跨数据库和跨数据库服务器实例运行下列 SQL 语句: • CREATE DATABASE • CREATE SYNONYM • CREATE VIEW • DATABASE • DELETE • DROP DATABASE • EXECUTE FUNCTION • EXECUTE PROCEDURE • INFO • INSERT • LOAD • LOCK TABLE • MERGE • SE…

web自动化测试的智能革命:AI如何推动软件质量保证的未来

首先这个标题不是我取的,是我喂了关键字让AI给取的,果然非常的标题党,让人印象深刻,另外题图也是AI自动生成的。 先简单回顾一下web自动化测试的一些发展阶段 QTP时代 很多年前QTP横空出世的时候,没有人会怀疑这种工…

java判断时间是否为节假日(或指定的日期),是的话返回true,否返回false

这个方法属实有点老套,先定义set,需要手动输入要判断的时间才行。 这个代码,就是输入一个日期,来判断这个日期是否为你指定的日期。如果是的话,返回true,否的话返回false。 代码: package Lx…

软考高级考完了,怎么评职称?

每年考试结束后,总有朋友问我,考完后怎么才能评上职称呢?获得证书就意味着获得了职称吗?让我们一起来看看具体情况吧! 01\职称获取途径 获得职称可以通过认定、评审、国家统一考试(以考代评)、职业资格对应等多种方式…

轻松设置CentOS IP地址的最终指南:详细的分步说明

轻松设置CentOS IP地址的最终指南 一、引言二、准备工作三、手动设置IP地址四、自动分配IP地址(DHCP)五、使用网络管理工具设置IP地址5.1、使用nmtui工具进行图形化设置5.2、使用nmcli命令行工具进行设置 六、常见问题和解决方案七、总结 一、引言 CentOS操作系统是一种基于Li…

【华为OD机试真题2023CD卷 JAVAJS】电脑病毒感染

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 电脑病毒感染 知识点广搜 题目描述: 一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。 其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需…

mysql怎么只允许指定IP访问

要查看MySQL数据库中连接成功的历史IP地址,你可以查询MySQL的日志文件或使用以下SQL查询来获取相关信息: 查看MySQL的日志文件: 打开MySQL配置文件,找到log-bin参数。该参数用于启用二进制日志(Binary Logging&#x…

LLM(八)| Gemini语言能力深度观察

论文地址:https://simg.baai.ac.cn/paperfile/fc2138ce-cadb-4a36-b9f7-c4000dea3369.pdf 谷歌最近发布的Gemini系列模型是第一个在各种任务与OpenAI GPT系列相媲美的模型。在本文中,作者对Gemini的语言能力做了深入的探索,做出了两方面的贡献…

服务案例|CIS数据库故障问题

一、告警通知 12月20日凌晨,平台收到某三甲医院告警通知,显示核心业务CIS系统数据库tempdb实例日志文件剩余空间不足。 查看告警详情页,显示tempbd日志文件使用率在凌晨1:30后异常增高。 一个小tip tempdb是SQL Server实例的系统数据库&…

NC(65)元数据增加字段

以报销单主表er_bxzb表为例,增加15个字段字段以及两个其他业务所需字段 1、先在er_bxzb增加字段 增加字段 alter table er_bxzb add no_invoice char(1) default(N);alter table er_bxzb add is_enabled_taxation_cloud char(1) default(N);alter table er_bxzb a…

云服务器的优势

云服务器的优势 裸机云服务器,拥有物理机同样的性能和安全,也具有云主机的灵活和弹性。其最显著的优势在于,用户能够直接控制服务器及其资源,这一点与虚拟化云实例有明显区别,后者会将底层硬件操作对用户进行隐藏。此外…

《PySpark大数据分析实战》-20.NumPy介绍数组的生成

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…

原来count(*)是接口性能差的真凶

前言 最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。 我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。 通…

MySQL——进阶篇

二、进阶篇🚩 1. 存储引擎🍆 1.1 MSQL体系结构 连接层: 连接处理,连接认证,每个客户端的权限 服务层: 绝大部分核心功能,可跨存储引擎 可插拔存储引擎: 需要的时候可以添加或拔掉…

PAT 乙级 1031 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1&am…

configure

configure 配置软件./configure --prefix$PWD/output CCaarch64-linux-gcc --hostaarch64-linux --enable-shared --enable-staticconfig.sub 文件 这个文件用于确定主机系统的类型,并返回与该系统相关的标识符。它包含一系列 shell 函数,用于检测主机…