- 开发文档
- 记录总结开发过程中遇到的相关技术问题。
目录
- # 1. JavaScript笔记
- 1-1. ajax如何解决跨域问题 1-2. async与await语法 1-3. Axios 文件下载实现进度条功能 1-4. Axios 的各种请求方式及传参格式总结 1-5. axios简单使用 1-6. CommonJS与ES6 Module的导入与导出之间的区别 1-7. ES6 中 export,export default 和 import 区别及用法 1-8. Javascript - 如何循环遍历getElementsByClassName返回的所有DOM元素 1-9. JavaScript 实现 charts 缩放比例尺 1-10. javaScript 实现将文件流下载文件保存到本地 1-11. JavaScript 数组对象去重方法 1-12. JavaScript 生成 uuid 1-13. JavaScript 解析 get 请求 url 参成对象 1-14. JavaScript判断字符串中是否包含某个字符串 1-15. JavaScript判断是否为移动端浏览器 1-16. JavaScript复制内容到剪贴板的两种常用方法 1-17. JavaScript实现单词首字母大写的方法总汇 1-18. JavaScript对时间(time)、日期(date)格式转换 1-19. JavaScript数组去重方法总结 1-20. JavaScript数组类型(Array)操作方法汇总 1-21. JavaScript浅度和深度复制的实现方法 1-22. js 中的 ES5 面向对象 1-23. js 中的 ES6 面向对象 1-24. js 中的 new 命令原理 1-25. js 实现 iframe通信 1-26. js 实现将文本复制到粘贴板 1-27. js 异步操作 1-28. js 数组转为树形(tree)结构 1-29. js 文件分片上传 1-30. js 统计数组中元素的重复次数 1-31. JS 选中文本输入框的部分文本内容 1-32. js 面向对象总结 1-33. Js中的forEach()、map()、$.each()和$.map()之间异同 1-34. js中的多种数组去重性能对比总结 1-35. js判断移动端还是pc端 1-36. JS如何监听div的resize事件 1-37. js实现格式化JSON数据方法 1-38. js实现防抖与节流函数 1-39. Js将滚动条(scrollbar)保持在最底部的方法 1-40. JS异步编程进化之路 1-41. JS数组改变元素位置(互换、置顶、上移、下移) 1-42. js数组的简单使用 1-43. js文件单位大小转换 1-44. JS获取和修改url参数 1-45. JS获取浏览器信息 1-46. js获取浏览器可视区或页面大小的兼容性总结 1-47. JS读取本地文本文件(兼容各种浏览器) 1-48. js随机打乱数组 1-49. Promise 中的 async 与 await 特点 1-50. Promise封装请求 1-51. qs.stringify 的基本用法 1-52. Web worker 使用方法 1-53. window.open之浏览器新窗口打开 1-54. 使用 js 实现保存 .tree 文件到本地 1-55. 使用 JS 将数字转化成千分位 1-56. 使用 js 快速计算文件 hash 值 1-57. 使用 js 进行Base64编码、解码(js-base64) 1-58. 使用 setTimeout 解决 setInterval 计时器不准的问题 1-59. 使用js在树形(tree)结构中找到子节点的父级路径 1-60. 使用JS如何判断远程网络图片地址是否失效 1-61. 使用js操作浏览器cookie的设置,读取,删除 1-62. 使用JS解决PC端页面适配方案 1-63. 使用js递归生成树形结构 1-64. 使用原生js(input type = file)上传图片(Base64)限制大小、类型判断、像素判断 1-65. 关于JavaScript 数组的复制解析总结 1-66. 关于JavaScript数组方法使用总结 1-67. 内置对象 1-68. 前端 DOM 总结 1-69. 前端 js 基础总结 1-70. 前端使用 jszip 解压 .zip 文件获取 file 格式文件 1-71. 前端各种事件总结 1-72. 前端常用的JS(代码片段)小工具方法总结 1-73. 前端登录界面常用的JS小工具方法总结 1-74. 十六(16)进制与rgb颜色转换 1-75. 原生 JavaScript 实现 div 随意拖拽原生 JavaScript 实现 div 随意拖拽 1-76. 原生 JS 实现页面树形(tree)菜单展示功能 1-77. 原生js实现 table表格列宽拖拽 1-78. 原生js获取iframe中dom元素或父级元素 1-79. 如何使用 file-saver 导出文件到本地? 1-80. 如何使用js将目录路径list转成tree树结构 1-81. 实现对localStorage、sessionStorage高级封装 1-82. 将一维数组按指定长度转为二维数组 1-83. 将网站设为主页以及加入收藏功能实现方法 1-84. 总结 3 种 HTML 转 PDF 导出的方案 1-85. 比typeof运算符更准确的js类型判断 1-86. 浏览器模型 1-87. 监听滚动条事件-返回顶部的方法 1-88. 简析JavaScript中的事件委托问题 1-89. 返回顶部的通用Js方法 1-90. 非常实用的Js代码工具片段 1-91. JS_根据鼠标位置缩放元素、拖拽 1-92. js_登录验证码绘制 1-93. JS-以鼠标位置为中心的滑轮缩放-图片 1-94. js生成目录并实现目录节点跟随滚动高亮 1-95. 使用js实现标题跳转与复制实现方法 1-96. 使用原生js动态实现文件的上传功能 1-97. 使用原生js提取md中的图片信息 1-98. 3d-force-graph使用方法 1-99. js 前端(web)浏览器端读取文件目录 1-100. 原生js监听窗口大小变化
- # 2. CSS笔记
- 2-1. CSS @media 多媒体查询使用总结 2-2. CSS 改变鼠标指针形状 2-3. css 清除浮动的几种方法总结 2-4. CSS3 元素转圈动画 (元素旋转动画) 2-5. CSS3之animation动画 2-6. CSS3之transition过渡 2-7. CSS3动画、旋转、旋转放大、放大、移动 2-8. CSS媒体查询 @media 常见的媒体尺寸设置 2-9. CSS或Js实现文字超出显示省略号 2-10. CSS教程和技巧收藏 2-11. CSS水平垂直居中常见方法 2-12. CSS给table的tbody添加滚动条 2-13. CSS设置自定义滚动条样式(兼容IE) 2-14. flex布局案例-圣杯布局 2-15. flex布局案例-基础 2-16. flex布局案例-网格布局 2-17. flex布局案例-输入框布局 2-18. flex布局案例-骰子 2-19. flex布局语法 2-20. Sass 基本使用方法 2-21. 「css技巧」使用hover和attr()定制悬浮提示 2-22. 「布局技巧」图片未加载前自动撑开元素高度 2-23. 从box-sizing属性入手,了解盒子模型 2-24. 使用 CSS 实现 pre 标签中内容换行方法 2-25. 图片加载失败使用CSS处理最佳实践 2-26. 如何根据系统主题自动响应CSS深色模式 2-27. 水平垂直居中的几种方式-案例 2-28. 滚动条样式设置(CSS) 2-29. 纯css实现Loading加载效果 2-30. CSS实现左侧固定,右侧自适应方法
- # 3. HTML笔记
- 3-1. HTML字符串中匹配关键词高亮 3-2. iframe加载完成事件 3-3. PC 端使用 rem 适配屏幕尺寸大小(自适应方案) 3-4. pc端网页屏幕自适应适配方案(rem) 3-5. 关于 HTML 中的 input accept属性详解(文件上传) 3-6. 前端如何使用a标签下载文件 3-7. 常用meta整理 3-8. 详解 input 中的 accept 属性(文件上传)
- # 4. Canvas笔记
- 4-1. Canvas 基础笔记总结 4-2. Canvas技术笔记 4-3. HTML canvas 框架汇总
- # 5. Nuxt笔记
- 5-1. Nuxt.js 刷新页面后防止 store 5-2. Nuxt.js 首屏加载全部js问题 5-3. 在Linux下部署NuxtJs项目注意事项 5-4. 如何优化 Nuxt.js 源代码里面的 css 和 window.__NUXT__ 5-5. 如何删掉 Nuxt 中的 window.__NUXT__ 问题
- # 6. React笔记
- 6-1. React classnames 的使用方法 6-2. React de条件渲染 6-3. React 中 Hook 使用规则 6-4. React 中常用的 Hook 使用方法 6-5. React 元素渲染 6-6. React 自定义 Hook 6-7. React_16路由配置方法 6-8. React中的 State 与 生命周期 6-9. React中的事件处理 6-10. React中组件与Props 6-11. React使用State Hook 6-12. React技术框架 6-13. React组合与继承 6-14. React获取元素动态高度 6-15. Vue 或 React 中判断图片链接失效加载默认图 6-16. 受控组件与非受控组件 6-17. 如何使用Effect Hook 6-18. 如何将 React 项目部署到 github 的 gh-pages 分支上 6-19. 浅谈React受控组件与非受控组件 6-20. 自定义Hooks获取窗口大小
- # 7. Vue笔记
- 7-1. markdown(md-editor-v3)简单使用 7-2. Prop 验证 与 非 Prop 的 Attribute 7-3. transition-group列表过渡 7-4. transition过渡&动画 7-5. vetur 中 eslint 的问题 7-6. vite 打包时内存溢出处理方案 7-7. Vite2 + Vue3添加svg的使用并通过svg实现自定义Icon组件 7-8. Vite项目构建优化之移除console.log和其他生产日志 7-9. vsCode 之 Monaco Editor 在 vue-cli3.0 中的使用方法 7-10. vue cli3 中的使用Luckysheet和Luckyexcel 7-11. vue 与 Koa 上传示例代码 7-12. vue 中 axios 如何取消请求,取消前面一个或多个请求 7-13. Vue 中 node-sass 安装失败简单解决方案 7-14. vue 中使用 pinia 状态管理教程 7-15. vue 中使用 web worker 7-16. vue 中封装 Axios 和 管理 API 接口 7-17. vue 中的 hash 与 history 两种路由模式 7-18. Vue 中的鼠标事件汇总 7-19. Vue 实现 Base64 图片上传 7-20. vue 强制刷新组件 7-21. Vue 组件中 v-mode 的本质以及实现方式 7-22. vue 组件中的.native 原生事件(@click.native) 7-23. Vue 组件中的.native原生事件(@click.native) 7-24. Vue 页面路由(router)权限控制和登陆验证 7-25. Vue 项目中如何在打包时清除 console 和 debugger 7-26. Vue 项目打包去除 .map 文件方法 7-27. Vue 预渲染之 prerender-spa-plugin 的配置使用 7-28. vue-cli 2.x和3.x配置移动端适配px自动转为rem 7-29. vue-cli3 如何实现pc端自适应 7-30. vue-cli3.0 开启 Gzip 压缩方法 7-31. Vue-cli3.0 监听路由变化的几种方式 7-32. Vue-cli3.0 结合 axios 解决生产环境中的跨域问题 7-33. vue-cli3.0移动端项目将px转换成rem 7-34. vue-cli3.x项目兼容ie解决方案 7-35. vue-router传递参数的几种方式 7-36. Vue2-ace-editor 基本使用方法 7-37. vue2.x 插槽slot使用总结 7-38. Vue2.x 组件通信方式 7-39. vue3 + vite 自适应(rem 适配)方法 7-40. vue3+vite:本地代理,配置proxy 7-41. Vue3.0 基础知识点总结 7-42. Vue3.0 挂载方法,添加全局属性 7-43. vue3.0之全局变量app.config.globalProperties的使用 7-44. vue3.2+elelmenui-plus+vite 按需导入ui组件库 7-45. vue3.x 中使用 ol (openlayer)地图 7-46. Vue3.x 组件通信方式 7-47. Vue3全局变量的定义和使用 7-48. Vuex使用记录 7-49. vue中使用html2canvas将html页面转为图片并且下载该图片 7-50. vue中父子组件之间的通信 7-51. Vue中的防抖函数封装和使用 7-52. Vue中配合clipboard.js实现点击按钮复制内容到剪切板 7-53. vue使用monaco editor时报错 Unexpected usage at EditorSimpleWorker.loadForeignModule 7-54. Vue列表渲染之数组、对象更新检测 7-55. Vue实现下拉滚动加载刷新功能 7-56. Vue开发中安装库经常报错 7-57. Vue技术框架 7-58. Vue生命周期 7-59. Vue监听store中数据变化的两种方式 7-60. Vue非父子组件之间通信的几种方式 7-61. Vue项目 解决 vuex 在页面刷新后数据丢失的问题 7-62. vue项目nginx部署子目录_vue 多项目部署_二级目录 copy 7-63. 使用 monaco-editor 汉化 右键菜单汉化 7-64. 使用 vite 脚手架创建 vue3 项目 7-65. 使用animate库 7-66. 使用vue实现鼠标框选文件的功能 7-67. 使用vue的transition标签结合css样式完成动画 7-68. 关于Vue项目优化方案总结 7-69. 关于解决vue-cli2.xx、vue-cli3.xx项目在ie中白屏的方案总结 7-70. 利用create-nuxt-app脚手架创建NuxtJS应用 7-71. 国际化插件 vue-i18n 使用方法 7-72. 在 vite-vue3.x 中的使用 vscode monaco-editor 方法 7-73. 在 Vue 中 如何使用 jsencrypt 实现 Rsa 进行加密 7-74. 在 vue 中使用 jsPlumb 总结 7-75. 在 vue 中使用 v-viewer 预览图方法 7-76. 在 Vue 中读取本地文本文件(兼容各种浏览器) 7-77. 在 vue 或 vuex 中如何使用 axios 进行请求操作 7-78. 在 vue 项目中 mock 的基本使用方法 7-79. 在 vue-cli3 项目更改 favicon 图标 7-80. 在 vue-cli3.0 中使用 Sass 全局变量 7-81. 在vue3+vite中使用markdown(v-md-editor)编辑器 7-82. 在vue中如何使用watch深度监听对象中值的变化 7-83. 基于 vue 列表拖拽排序 7-84. 基于 vue 图片裁剪(vue-cropper) 7-85. 基于 vue 的 CodeMirror 代码编辑器 7-86. 如何在 vue 中使用 swiper 插件创建轮播图 7-87. 如何在 vue 中实现代码高亮? 7-88. 如何在 Vue-cli3.0 中使用 prerender-spa-plugin 进行预渲染 7-89. 如何用 vue 实现一个虚拟列表 7-90. 清除项目中无用的console.log代码方法 7-91. 解决vue-cli3.0中提示syntax 'classProperties' isn't currently enabled的错误 7-92. 记录vite打包vue项目内存溢出问题及解决方法 7-93. Vite中使用 svg-sprite-loader加载svg文件 7-94. vite引入svg图片 7-95. vue 使用CompressionPlugin压缩解决打包后文件过大的问题 7-96. vue2.x递归组件 树形组件 7-97. vue3.x递归组件 树形组件 7-98. 使用Vite快速构建Vue3+ts+pinia脚手架 7-99. 启动vue项目时报错digital envelope routines__unsupported 7-100. Pinia 快速入门(使用教程) 7-101. 关于 Vite Vue 辨别当前所处于什么(生产、开发)环境
- # 8. TypeScript笔记
- 8-1. TypeScript 使用总结 8-2. TypeScript 函数部分 8-3. TypeScript 变量声明 8-4. TypeScript 基础类 8-5. TypeScript 基础类型 8-6. TypeScript 基础类型总结 8-7. TypeScript 安装方法 8-8. TypeScript 接口 8-9. TypeScript 泛型 8-10. TypeScript 类型推断 8-11. TypeScript 高级类型 8-12. 编写 TypeScript 程序 8-13. 项目中常见的 Typescript 语法
- # 9. AI相关笔记
- 9-1. Ollama - 本地安装部署