macOS 下安装php指南
1. 前言macOS 自带 PHP,以 Big Sur 为例,自带 PHP7.3: 1234567$ php --versionWARNING: PHP is not recommendedPHP is included in macOS for compatibility with legacy ...

[CSS Trick] CSS渐变遮罩的实现
1. 前言在设计稿中,经常遇到渐变场景,说到渐变那必须要谈及 linear-gradient,这里推荐去看《CSS 揭秘》一书中对渐变的介绍。 大部分我们都是在 background 中去使用 linear-gradient,来实现一个渐变背景。但是在一些场景下,我们希望内容部分有个整体的渐变,比如 ...

令人头大的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应用 ...