摘要:
1. 劣势 2. 优势 + 打包快 + 预打包 + 第三方库预打包 通过浏览器去做打包esmodule? webpack 迁移到 vite + magic commit (webpack) + rollup 特性 1. 在开发环境中,一个 import 语句代表一个 HTTP 请求,正式Vite的d 阅读全文
摘要:
1. prettier 2. eslint 1. eslint-loader 3. githooks 1. precommit 4. commitlint 5. CICD -> jetbrain 1. 如何自动部署 1. webpack/rollup -> npm package webpack 的 阅读全文
摘要:
1. .git/hooks 2. git在提交之前走一遍git/hooks里面的勾子 如何跳过githooks git commit --no-verify 阅读全文
摘要:
## Islands Architecture是什么 `Islands Architecture`(孤岛架构)的概念最初是由**「Etsy」**的前端架构师 **「Katie Sylor-Miller」** 在 2019 年提出,并由`Preact`作者**「Jason Miller」**在isla 阅读全文
摘要:
是的,npm中确实存在幽灵依赖(Ghost Dependencies),也称为虚拟依赖(Virtual Dependencies)。 幽灵依赖指的是在项目中虽然没有显式引用该依赖,但是存在其他依赖与该依赖版本有冲突,导致该依赖被安装到项目中,占用项目的空间和资源。 举个例子,假设项目引用了两个库 A 阅读全文
摘要:
## Vue Element Admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中 阅读全文
摘要:
# React18 + React-Router v6 + TypeScript + Vite2 + Ant-Design 开源管理系统 ### 一、在线预览地址 👀 - Link:[http://hooks.spicyboy.cn](http://hooks.spicyboy.cn/) ### 阅读全文
摘要:
微前端是将单体应用程序拆分为一组更小、更容易管理的单元,使得应用程序能够更加灵活、可扩展、易于维护,并且能够让不同团队或个人独立开发、测试和部署应用程序的不同部分。这种架构方式可以从多个方面带来很多好处,具体包括以下几点: 1. 易于扩展和维护 微前端架构将应用程序拆分成多个小型单元,每个单元包含不 阅读全文
摘要:
Qiankun是一个基于微前端的解决方案,但它并不是基于iframe的。Qiankun是基于浏览器新特性Web Components和Custom Elements实现的 它使用了Shadow DOM来隔离各个子应用的CSS和JavaScript,这样可以避免全局命名冲突。 它使用了HTML5的Hi 阅读全文
摘要:
WebAssembly 是一种新的字节码格式,它是一种可移植、高性能的二进制格式,可以在现代的 Web 浏览器中运行。WebAssembly 可以在浏览器中以本地速度运行编写的任何语言代码,无需通过 JavaScript 解释器进行解释。 WebAssembly 的目标是提供一种更加高效、安全和可靠 阅读全文
摘要:
在 Vue-Router 中,提供了两种路由模式:hash 和 history。 1. Hash 模式 Hash 模式本质上是通过锚点值(URL 中 # 号后面的部分)来实现路由的切换和监听的。当 URL 中的 hash 发生变化时,路由就会根据 hash 值的变化来切换页面,同时也可以通过监听 h 阅读全文
摘要:
前端SEO(Search Engine Optimization,搜索引擎优化)主要是针对网页的内容进行优化,提升网站在搜索引擎中的排名和曝光率。前端优化主要涉及以下几个方面: 1. 网页的结构和内容:要提高网页的排名,需要考虑内容的丰富程度和排版布局的清晰度。要把关键词和主题贯穿于页面的标题、描述 阅读全文
摘要:
RBAC(Role-Based Access Control)是基于角色的访问控制模型,是一种广泛应用于信息技术(IT)安全中的访问控制机制。RBAC 模型建立在三个关键元素之上:用户、角色和权限。 在 RBAC 模型中,用户与角色相关联,而角色与权限相关联。一个用户可以拥有多个角色,而一个角色可以 阅读全文
摘要:
browser less技术去做 阅读全文
摘要:
1. canvas 2. mutation observer 1. 用户通过控制台删掉,监听dom变化,重新加上水印 阅读全文
摘要:
我们日常中应该都经常遇到各种电子合同,需要我们去手动签名,往往只需要手动签名,那么是如何实现的呢?你有了解过么,看似很复杂其实非常简单,初级版本我们甚至只需要不到二十行代码即可实现。当然,真实的场景我们需要考虑更多,那么今天的主角依然是**canvas**,让我们开始吧! ### 准备工作 首先我们 阅读全文
摘要:
前端大文件分片上传需要将文件切割成若干个片段,然后将每个片段上传到服务器,最终在服务端将所有的片段合并成完整的文件。下面是一个前端大文件分片上传的示例: 1. 将文件切割成若干个片段。 ```javascript function splitFile(file, chunkSize) { let f 阅读全文
摘要:
1. Mixpanel:Mixpanel是一个基于事件的分析工具,可以通过跟踪用户行为并分析事件发生频率、用户转化率等指标来帮助您优化产品。 Mixpanel的主要特点是易于使用、可视化的数据分析以及强大的A/B测试工具。 2. Amplitude:Amplitude是一个基于事件的分析工具,可帮助 阅读全文
摘要:
1. 动态的Class名称或者ID 2. 动态的标题 1. 限制访问频率:可以对同一 IP 地址的访问进行限制,防止恶意爬虫过度频繁地访问同一页面。 1. 使用反爬虫技术:如图形验证码,滑动验证码、语音验证码等方式,提高爬虫运行的难度。 2. 动态生成接口:通过 Ajax 请求来获取数据,动态生成页 阅读全文
摘要:
移动端布局方案通常有如下几种: 1. 使用百分比布局 百分比布局是一种常见的移动端布局方式,通过设置元素的宽度或者高度为百分比,从而实现自适应效果。例如: ```css .container { width: 100%; } .item { width: 50%; float: left; } `` 阅读全文
摘要:
移动端300毫秒的延迟是由于双击缩放(double tap to zoom)机制引起的。当用户在移动设备上轻触屏幕时,浏览器会等待300毫秒,以确定用户是否要进行双击缩放。 为了解决这个问题,有以下几种常见的方法: 1. 使用meta标签禁用缩放功能 ```html ``` 这样一来,就可以禁用移动 阅读全文
摘要:
https://cccreate.co/ 生成各种主题色 阅读全文
摘要:
Tailwind CSS 的生产环境按需加载样式,是通过 PurgeCSS 插件和 Webpack 进行实现的。 在 Tailwind CSS 的生产环境构建配置中,会先使用 PurgeCSS 对项目中的 HTML、JavaScript 和 CSS 进行扫描,去除未使用的样式,生成一个经过优化的样式 阅读全文
摘要:
语义化 样式复杂 好处:不用思考样式名称 坏处:className会显得非常长 阅读全文
摘要:
CSS Grid 是一种基于网格的布局系统,用于在网页布局中创建复杂的、多列的、响应式网格。使用 CSS Grid,我们可以快速地创建强大的、灵活的布局,能够完全控制网页布局的行和列,同时还能够处理响应式布局。 在使用 CSS Grid 时,我们需要定义一个网格容器(也就是包含所有网格元素的 HTM 阅读全文