自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhaojjjjjj163的博客

The road to success must go through ups and downs

  • 博客(47)
  • 收藏
  • 关注

原创 vue3 响应式原理 双向绑定原理

Vue.js 的响应式原理和双向绑定原理是 Vue.js 框架的核心机制,它们共同实现了 Vue.js 的数据驱动视图的特点。

2024-02-21 09:44:37 484

原创 http缓存?强制缓存和协商缓存?

HTTP缓存是一种优化网络资源加载速度的技术,通过减少从服务器获取相同资源的次数来实现。HTTP缓存机制包括强制缓存和协商缓存(对比缓存)两种类型。

2024-02-21 09:37:52 801

原创 从输入URL到页面加载的全过程

这个响应包括响应行(如HTTP/1.1 200 OK)、响应头(如Content-Type、Content-Length等)和响应体(即实际返回给浏览器的数据,通常是HTML文档)。这个请求通常包括请求行(如GET或POST)、请求头(如User-Agent、Accept-Language等)和请求体(对于POST请求,包含提交的数据)。当所有资源(如HTML、CSS、JavaScript、图片等)都加载完成,并且DOM、CSSOM、渲染树都已经构建和渲染完毕,页面加载过程就基本完成了。

2024-02-20 16:58:13 813

原创 h5 调用相机拍照上传时页面刷新

理解了问题的原因,对问题的一些表征也就有了合理的解释:低端安卓机的内存更小,因此发生问题的频率更高;对于这一问题,Android技术团队的态度是回避(将bug标记为obsolete),可能是因为此bug涉及了OS底层进程切换的机制,修复起来风险太高;而随着手机设备内存容量的增大,这一问题所发生的概率会越来越小。在经过一番搜索和调研后,发现这个问题的原因远比自己想象的要复杂:这是一个由Android操作系统底层设计缺陷所导致的问题,对于Web开发者来说,没有什么办法能真正解决这一bug。

2024-02-20 08:51:14 782 2

原创 前端框架 - htmx

htmx是一个很好的工具,可以让在不需要写js代码的情况下,实现很多复杂的功能。但是,通过上述例子也可以发现,为了实现一些复杂的功能,需要在html中添加很多属性,这样会导致HTML代码变得很臃肿,不利于维护,所以,htmx的使用场景还是有一定的局限性的,需要根据实际情况来选择使用。

2024-01-26 17:30:18 745 1

原创 随时切换 NPM 镜像

mac 安装时 npm 报错话可能是权限不足,命令前加上 sudo 即可。nrm use taobao 即可切换到镜像源。

2024-01-26 09:30:21 620

原创 vue3 自动引入 ref reactive...

A: 未配置自动导入相应的 eslint 规则, 通过 autoimport 中的配置生成对应 .eslintrc-auto-import.json 配置文件,并在 .eslintrc 中引入。A : TS 未识别到 vue api,没有相应的模块声明文件, 在 vite 中配置并生成 auto-imports.d.ts ,并在 tsconfig.json 中引入。Q: eslint 无法识别报错 error ‘reactive’ is not defined no-undef。

2024-01-24 08:55:20 889

原创 使用vite build 后移动 index.html 到后端目录中

"build": "vite build && mv ../think/public/static/wxmp/index.html ../think/view/wxmp/home_index.html", //移动index.html 到指定位置。outDir: '../think/public/static/wxmp', //打包到的位置。base: '/static/wxmp', // 修改静态资源路径。minify: true, //是否压缩。

2024-01-23 16:55:52 756

原创 vue3 sign

【代码】vue3 sign。

2024-01-23 16:16:48 515

原创 async、await、Promise 的底层实现

JavaScript 中的是基于 Promise 的语法糖,它们使得异步代码的编写更加简洁和直观。在底层实现中,async函数会使用 "coroutine" 来处理异步操作,而await表达式则会调用 Promise 的then()方法来等待 Promise 的解析完成。JavaScript 中的 Promise 底层实现涉及到事件循环和异步函数的概念。Promise 的状态由引擎管理,并根据异步操作的结果进行更新。

2024-01-10 09:29:52 529

原创 vue3 中的 mvvm 设计与实现和 mvvm 的优缺点

由于数据双向绑定和虚拟DOM的存在,Vue 3在处理大量数据和渲染复杂视图时可能会面临性能问题。:尽管Vue 3的社区已经相当活跃,但在某些特定领域和应用场景下,可能不如其他框架(如React或Angular)的社区成熟和丰富。:MVVM模式是一种常见的设计模式,它遵循了MVC的架构,将视图和模型分离,使得代码更加清晰和易于维护。:Vue 3提供了丰富的API和插件生态系统,使得开发者可以根据需求定制和扩展应用程序的功能。:在 Vue 3 中,你可以使用组合 API 来组织和复用组件逻辑。

2024-01-10 09:18:13 1196

原创 Mac 安装软件时解除隔离,绕过签名

sudo codesign --force --deep --sign - + 空格 + APP。sudo xattr -r -d com.apple.quarantine + 空格 + APP。(将 APP 拖入到命令行后面)访达-应用程序-右击-打开。

2024-01-04 14:11:52 572

原创 VUE3使用$ref()语法糖

【代码】VUE3使用$ref()语法糖。

2024-01-04 09:56:15 736 4

原创 小程序实现手写签名功能

【代码】小程序实现手写签名功能。

2023-12-22 15:42:57 720 2

原创 Vite 打包时修改静态资源的路径

在使用 Vite 打包项目时,如果想要修改静态资源的路径,可以在vite.config.js文件中配置base 选项。这个选项可以控制项目中静态资源的基路径。注意:如果应用是部署在非根路径上的服务器,需要确保服务器配置也能正确地处理这个基路径。配置后,Vite 在构建时会将所有静态资源的引用路径前添加/dist/ 前缀。

2023-12-21 10:11:15 2338

原创 prettier自动排列 Tailwind 的类名顺序

"prettier-plugin-tailwindcss" // 必须最后一个加载。配置 prettier.config.js。配置 .prettierrc (必须。

2023-12-15 09:33:45 769 2

原创 MAC PHP版本安装问题

因为php7.4官方已经不再维护,所以Hombrew将该php版本移出了repository,所以安装不了。安装php 7.4版本不成功。

2023-12-05 18:16:53 940 1

原创 解决Nginx访问php文件直接下载

这种情况通常是因为nginx没有将PHP文件交给PHP解释器处理,而是直接返回了文件内容,导致浏览器将其当作下载文件。在nginx服务器中配置这么一段代码,用来解析PHP。

2023-12-05 18:09:39 1040

原创 Nginx启动失败,80端口被占用,kill不掉进程

试了无数种方法,找进程,kill进程,网络监视器找进程,都没有成功。启动 nginx 就会报错,提示80端口被占用。没有 lsof 的话先安装lsof。找到哪个进程监听的 80 端口。

2023-12-05 13:37:05 957

原创 深入了解 Node.js:了解其历史、线程和事件驱动架构

如果这两个队列中的任何一个中有任何回调,它们将在当前阶段完成后立即执行,而不是等待整个事件循环完成其四个阶段。例如,如果 promise 在过期计时器的回调运行时解析并返回 API 调用中的数据,则其回调将在计时器的回调完成后立即执行。由于事件循环,异步编程在 Node.js 中成为可能,这使得事件循环成为 Node.js 最重要的功能。但是,事件循环是 Node.js 运行时的核心机制。例如,新的 HTTP 请求、计时器过期或已完成的文件读取或写入文件操作等事件将发出事件,然后事件循环将拾取这些事件。

2023-12-04 10:31:53 1214

原创 JS 实现自定义光标

【代码】JS 实现自定义光标。

2023-12-04 09:47:53 622

原创 关于微信小程序更新的问题 UpdateManager

开发者在管理后台发布新版本的小程序之后,微信客户端会有若干个时机去检查本地缓存的小程序有没有新版本,并进行小程序的代码包更新。用户长时间未使用小程序时,为保障小程序版本的实时性,会强制同步检查版本更新,更新到最新版本后再打开小程序。如果有更新,下次小程序启动时会同步进行更新,更新到最新版本后再打开小程序,尽可能保证用户能够尽快使用小程序的最新版本。开发者在后台发布新版本之后,无法立刻影响到所有现网用户,正常情况下,在全量发布 24 小时之后,新版本可以覆盖 99% 以上的用户。

2023-12-02 10:05:48 592

原创 识别项目中未使用的 npm 包

如果项目中安装了很多 npm 包,可能只是为了尝试使用其中一些。这将列出项目中所有未使用的 npm 包,然后从。文件中删除对应的包名称。

2023-12-02 09:41:43 607

原创 配置 .prettier 文件

统一项目开发人员的代码格式化问题。

2023-12-02 09:24:47 357

原创 JS Coding Tips ✨

5. 根据指定深度递归地将所有子数组元素拼接到新的数组中。3. Better 判断。1. 解构赋值,合并对象。4. 动态属性名称。

2023-11-29 09:25:41 381

原创 自定义ref实现防抖

【代码】自定义ref实现防抖。

2023-11-23 14:43:08 22

原创 HTML标签 冷门属性

属性限制嵌入内容可以执行的操作,例如阻止其执行脚本或提交表单。

2023-11-20 11:38:02 27

原创 JS实用的一行代码(Date系列)

从十进制时间获取小时和分钟。

2023-11-07 14:33:25 62

原创 JS实用的一行代码(DOM系列)

计算。

2023-11-07 14:09:02 26

原创 JS实用的一行代码(array系列)

元素之间的穿插元素重复数组查找数组中最小值的索引查找数组中最大值的索引。

2023-11-07 13:43:20 41

原创 PHPWebStudy搭建mac上的php开发环境

4. 点击左侧Hosts,进入站点管理模块,点击添加按钮,输入站点域名(本机测试用,任意域名,没有限制),选择站点目录(有的php框架会指定文件夹作为站点根目录,如thinkphp需要设置public作为站点目录)2. 点击左侧菜单栏的PHP模块,点击版本管理,进入PHP版本管理界面,安装好对应版本后进入切换版本界面。注意:域名建议local结尾,避免和其他线上正式域名冲突。1. 第一次使用提示输入电脑密码,后续不会再提示。3. 以同样的方式开启nginx。

2023-10-08 14:57:17 489

原创 评论数、销量的数量格式化

【代码】评论数、销量的数量格式化。

2023-10-08 14:40:55 30

原创 微信小程序更新机制

在小程序app.js中配置。

2023-08-28 20:39:28 206

原创 import 和 import()的区别(动态导入)

函数时,由于该模块已经被加载并解析过了,因此不会重新加载并解析,而是直接返回已经加载并解析好的模块实例。函数来导入同一个模块,只有第一次调用会执行真正的加载和解析操作,后续调用都会直接返回缓存的模块实例。可以动态地加载模块,即可以在运行时根据需要动态加载模块,而不需要在代码加载阶段就加载所有模块。是 ES6 中用于在动态环境中导入模块的函数,它是在运行时执行的,而不是在代码加载阶段执行。是异步的,因此在模块加载完成之前,模块中导出的变量或函数是无法使用的。导入的模块,可以直接访问其导出的变量和函数。

2023-08-04 11:32:36 728

原创 Module 的语法的总结

在编写模块时,需要考虑模块中的变量是否需要共享,是否可以被修改,以及模块在不同文件中被调用时可能产生的副作用等因素,从而选择合适的方法来避免副作用。如果在模块中使用常量或不可变对象,那么即使该模块中的变量被修改了,但由于常量或不可变对象无法被修改,因此在不同文件中调用该变量时,其值也不会发生变化。导入模块时,实际上是在模块内部创建了一个指向被导入模块的引用,而不是直接复制模块中的变量。导入的模块中含有可变状态的对象,比如一个对象的属性值可以被修改,那么当在不同的文件中修改这个对象中变量时,由于。

2023-08-04 11:27:18 169

原创 vue中点击导出为word

【代码】vue中点击导出为word。

2023-07-10 14:13:45 107

原创 vuex和pinia

Vuex 使用全局 store 存储状态,而 Pinia 使用本地store,这意味着在使用多个获取数据的单独实例时,每个实例都有自己的存储空间。Vuex 是 Vue.js 官方提供的状态管理库,而 Pinia 是基于 Vue 3 且使用 TypeScript 编写的轻量级的状态管理库。在开发过程中,如果感觉正在写很多类似于父子组件之间的通信和props传值代码,那么就可能需要引入状态管理工具来使数据的传递和管理更加便捷。当组件层级开始变得复杂,并且需要共享数据和状态时,就可能需要使用状态管理工具。

2023-06-03 17:18:00 738

原创 JS在数组中查找元素常用方法

【代码】JS在数组中查找元素常用方法。

2023-06-01 10:52:23 1629

原创 JS常用的for循环

遍历数组时,可能会出现异常结果,因为该方法是遍历对象可枚举属性的,而数组的每个元素也是对象并有自己的属性。最常用于遍历数组、类数组对象、字符串等 iterable 对象中的每个元素(包括符号字符)。原型上提供的一个遍历数组每个元素的方法,它接受一个回调函数作为参数,该回调函数会传入。关键字创建一个普通的循环,通过指定起始值、结束条件和步长来控制循环的次数。不支持在中途跳出循环,因此如果需要在特定条件下停止遍历,最好使用普通的。用于遍历对象的可枚举属性,返回每个属性名称(字符串类型)。

2023-05-22 14:19:01 193 2

原创 CSS的filter属性

在应用多个滤镜函数时,可以使用空格分隔多个函数,它们将按顺序依次叠加,以生成最终的滤镜效果。需要注意的是,在使用滤镜效果时应当避免过度使用,以保持页面的可读性和可操作性。元素创建一个向右下方偏移 10 像素、水平与竖直方向均扩展 5 像素的深灰色投影效果。表示一个滤镜函数,该函数实现了一种特定的图形处理效果。属性用于为元素添加图形效果或滤镜效果。值,可以实现元素模糊、透明、提高对比度等多种视觉效果。元素添加一个包含 5 像素模糊半径的模糊效果。除此之外,还有许常用的滤镜效果可以结合。可用于添加投影效果、

2023-05-19 17:52:50 225 1

MAC ttime 翻译app

可截图翻译

2024-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除