令人头大的ES Module 与 CommonJS
1. ES Module 与 CommonJS 的概念模块化编程是个老生常谈的问题了,Javascript 有着沉重的模块化历史包袱,之前引入 Javascript 代码只能通过 Script 标签引入,这样就容易产生如下的问题: js文件作用域都是顶层,这会造成变量污染 js文件多,变得不好维护 ...

数制前端整体架构概览
1. 子项目以及子模块公司的整体项目是有多个模块构成的,比如物流管理、销售管理、人力资源管理 …… 如果将公司的所有模块作为一个整体项目来开发,那么维护代码库随着后面的模块开发将会变得越来越庞大,整个项目的上线也将变得逐渐难以控制。 因此我们为每个模块开了不同的 git 仓库来管理,以一个基座项目为 ...

Git Submodules 分库加密的工程化解决方案
1. 前言由于公司的项目分为多个模块,为了方便多个模块分开开发,防止代码混淆,因此每个项目模块都另外开了一个分库来维护,然后有一个整体的项目基座用来关联各个模块的页面跳转,项目上线时也可以单个模块增量上线。 但是这么一套架构就带来另外一个问题,对于每个模块的共用部分,如 utils、hooks、co ...

从零开始创建一个 React Native Native Modules
1. 什么是 Native Modules首先我们要明白 Native Native 之所以能够跨端调用 Android、iOS 的能力,就是因为 Javascript 只是提供了 Bridge 层的调用,具体的实现代码还是由原生的 Android、iOS 代码来实现的: 因此,理论上如果我们编写 ...

灵魂拷问:浏览器为什么禁止跨域
前言跨域问题是个老生常谈的问题了,当一个页面访问非同域(域名、协议、端口号不同的都是非同域)的接口,就会由于浏览器的同源策略限制被拒绝访问。 那么问题来了,好端端的浏览器,为什么禁止我访问跨域接口呢,这个问题在知乎上也有很激烈的讨论:https://www.zhihu.com/question/26 ...

【业精于勤】基础前端面试题整理
1. 实现一个 newnew 一个对象会发生如下的步骤,基于这些步骤我们来尝试想一下怎么实现它们: 创建或者说事构造一个全新的对象(创建一个空对象); 这个全新的对象会进行 [[Prototype]] 连接(遍历构造函数的 prototype 连接到空对象的 proto 上); 这个对象会被绑定到 ...

温故知新,React基础Hook回顾
1. useState略 2. useEffect2.1 什么是副作用副作用:纯函数只要和外部进行交互,都可以认为其有副作用 引用外部变量; 调用外部函数; 宗旨:相同的输入 ==一定会有==> 相同的输出 只要不是在组件渲染时执行的操作,都是副作用操作。 一定会是副作用的操作: 修改d ...

网络原理关前端面试题整理
CDN 是什么? https://www.zhihu.com/question/36514327/answer/1604554133 内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN应用 ...

Vue3新特性初探与对比
1. Vue3 新特性Vue3 的一些特性: 渐进式开发,兼容 Vue2 的特性 性能的提升 打包减少 41% 初次渲染快 55% 更新快 133% 内存占用 54% Composition API 合集,解决组件开发问题 新的 API 的加入 Teleport 瞬移组件 Suspense 解 ...

图文并茂,React组件更新与渲染及Diff算法解析
1. Parcel 安装与使用Parcel 是 Web 应用打包工具,适用于经验不同的开发者。它利用多核处理提供了极快的速度,并且不需要任何配置。 文档:https://www.parceljs.cn/getting_started.html 本地安装: 1yarn add parcel-bun ...