在Canvas中使用React Hooks

在本文中,我将使用React Hooks创建一个html canvas 画图网站,我将使用create-react-app脚手架从零开始构建项目。最后这个应用程序有诸如清除、撤销和使用localStorage基本功能。本文我将向您展示任何构建自定义Hooks和在普通的Hooks中重用有状态逻辑。基本设置我们首先使用create-react-app创建一个新的React应用程序。$ npx crea

- 阅读全文 -

Vue3 的 script setup 语法糖是真的爽

还记得刚体验 script setup 语法糖的时候,编辑器提示我这是一个实验性的提案,要使用的话,需要固定 Vue 版本。而在 6 月底,该提案被正式定稿,在 v3.1.3 的版本上,你可以继续使用但仍会有实验性提案的提示,在 v3.2 中,才会去除提示并移除一些废弃的 API。script setup 是个啥?它是 Vue3 的一个新语法糖,在 setup 函数中。所有 ES 模块导出都被认为

- 阅读全文 -

PIXI.JS 点击获取当前坐标

PIXI Canvas 点击事件如下​ onMounted(() => { console.log('mounted') app.renderer.plugins.interaction.on('pointerdown', (event: PIXI.InteractionEvent) => { let ax = event.data.get

- 阅读全文 -

前端自动化构建工具 ---- Plop

plop:可以通过命令行去生成、处理文件模板代码等.使用条件参考:项目的每个模块的结构骨架都非常相似,引入模版内容相同就可以使用Plop来实现自动化了,Plop旨在根据模板文件自动化创建组件。受制于Vue语法限制以及vscode失败的拆件,采用了plop 自动化构建模版安装plop安装到项目npm install --save-dev plop全局安装plop(可选,建议安装方便使用)npm in

- 阅读全文 -

css回流重绘

回流回流又名重排,指几何属性需改变的渲染。但感觉回流这个词比较高大上,后续统称回流吧。可理解成,将整个网页填白,对内容重新渲染一次。只不过以人眼的感官速度去看浏览器回流是不会有任何变化的,若你拥有闪电侠的感官速度去看浏览器回流(实质是将时间调慢),就会发现每次回流都会将页面清空,再从左上角第一个像素点从左到右从上到下这样一点一点渲染,直至右下角最后一个像素点。每次回流都会呈现该过程,只是感受不到而

- 阅读全文 -

vue3使用reactive包裹数组如何正确赋值

需求:将接口请求到的列表数据赋值给响应数据arrconst arr = reactive([]); const load = () => { const res = [2, 3, 4, 5]; //假设请求接口返回的数据 // 方法1 失败,直接赋值丢失了响应性 // arr = res; // 方法2 这样也是失败 // arr.concat(res); // 方

- 阅读全文 -

px rem em vh vw之间的区别到底是啥?

绝对长度pxpx是像素值,是一个固定的长度,比如我们的米,厘米一样。相对长度为什么我们需要相对长度rem em等?🤔固定长度已经不能满足我们现在的需求了。🌰举例:比如我们在缩小我们屏幕的时候,我们不仅仅是需要缩小我们的盒子的宽高,我们还想要让我们字体大小也随之缩小,这样用户体验会更好一点。remrem 与 px 的计算关系rem的值是px的倍数默认情况下font-size = 16px,那么1re

- 阅读全文 -

手把手教你使用Electron9+vue3开发跨平台桌面应用

Electron 是一个基于 chromium 和 nodejs,可以使用 HTML、CSS、和 JavaScript 构建跨平台应用的技术框架,兼容 Mac、Windows 和 Linux。虽然 B/S 是膜前开发 ad 主流,但是 C/S 仍然有很大的市场需求。受限于浏览器的沙盒限制,网页应用在无法满足某些场景下的使用需求,而桌面应用可以读写本地文件、调用更多系统资源,加上 web 开发成本低

- 阅读全文 -

如何设计统一登录业务

前言几乎所有的项目都需要登录,无论是权限限制、个性化定制、信息安全等需求,都要通过登录系统来获取用户信息,以便提供后续服务。而一个公司可能会有多个不同的项目,每个项目后端都是共用同一套用户系统的话,就势必会有通用登录的需求出现。通用登录的方式有很多种,下面我们仅探讨前端的实现方案。项目子域名不同,共用一个父域通过设置 cookie 的 domian 属性,可以使得 cookie 携带的内容在父子域

- 阅读全文 -

前端JavaScript css遵守各司其职原则

第一个故事:切换到夜间模式在 WEB 开发中,HTML 负责网页的结构,CSS 负责网页上各个元素的展示样式,JS 则负责网页和用户的交互。想要成为一名优秀的前端工程师,首先要做的就是遵守这三者各司其职的原则,让我们的代码易于维护和扩展。但是,有时候我们常常一不小心就破坏了这个原则。又或者,我们为了实现业务需求,根本不管这个规则。这都会导致我们的代码结构混乱,维护困难。那么下面,我就通过一个例子,

- 阅读全文 -

Vue3 404页面(NotFond)配置方案

全部捕获/ 404未找到路线常规参数只会匹配网址片段之间的字符,并用分隔/。如果我们想匹配任何东西,我们可以使用自定义参数正则表达式,方法是在参数后面紧随括号内添加正则表达式:const routes = [ // will match everything and put it under `$route.params.pathMatch` { path: '/:pathMatch(.*

- 阅读全文 -