自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 JS 文件操作

Blob对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。FileReader对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。ArrayBuffer...

2023-12-13 17:39:04 383 1

原创 VUE更新原理

1、简述更新过程 执行渲染Watch,渲染Watch里面对应的函数,执行render函数,获取更新后的VNode,比对新旧VNode(判断是组件VNode还是普通元素Vnode是在之前还是之后?)1.1 组件Vnode如何比对2.2 普通元素Vnode如何比对2、更新时主要执行的源码3、应用 之所以想弄清楚VUE更新原理,是为了优化一个大数据页面操作时卡顿的问题,当我们在主页面循环一个千条数据时,页面每修改一次属性都会触发一次更新,都需要比对这上千条数据V...

2021-12-17 22:15:00 1695

原创 Node 发送 HTTP请求

1、发送GET请求2、发送POST请求3、node开启的服务支持跨域

2021-12-16 20:45:00 4470

原创 理解VUE响应式原理

1、响应式原理基础 响应式原理基础是基于Object.defineProperty(obj, prop, descriptor),descriptor里面可以定义get和set方法,可以在获取属性值事触发get方法(可以收集依赖),设置属性值时触发set方法(更新依赖)。 扩展:上面是vue2.0的基础原理,vue3.0的基础原理是:2、核心对象:Dep与Watcher Dep: vue在data里申明的每一个属性都会生成一个Dep的实例对象,De...

2021-11-23 22:00:00 2522

原创 storybook:组件展示、手动测试组件

1、框架作用a、测试、展示组件;b、配合插件使用扩展功能(例如生成组件使用文档等等) 插件列表地址:https://github.com/storybookjs/storybook/#addons。2、如何使用框架2.1 使用默认cli框架:npx -p @storybook/cli sb init --type vue默认安装2个插件:addon-linksaddon-essentials:这个插件是一个插件组合,包含这7个插件: https://storybook....

2021-04-22 09:05:51 557 1

原创 vue 组件测试(自动化)

1、为什么需要组件测试测试可以提高代码质量,这是毋庸置疑的,但前端开发过程中,业务逻辑和样式常常需要调整,这样导致测试案例也需要调整,如果大范围的对前端的代码进行测试,投入和产出不成正比,这里我推荐可以进行小范围测试,比如对通用组件进行测试,理由有如下2点:1、通用组件使用的范围广而修改的频率低,对其进行测试产出高;2、对通用组件修改后,执行测试案例不通过,说明可能此次的修改没有兼容之前的组件功能,可以帮助开发者减少修改组件后产出的bug。2、选择测试框架和工具结合我自己的组件库项目,使

2021-04-22 09:05:30 1659 2

原创 TypeScript学习笔记

1、TypeScript与Flow对比种类 TypeScript Flow 功能 静态类型检查器,支持javascript,java,c等等 扩展了JS:类、接口、模块、装饰器 针对JavaScript静态类型检查 易用性 需要整个项目支持类型检查,项目中途开始支持TS,需要花费时间让之前的代码也兼容 可以部分支持,迁入老项目,不需要花费时间兼容 ...

2021-04-04 12:20:34 97

原创 html的table下载为excel格式的文件(支持大文件下载)

代码如下:// 前端下载Excel el:dom元素,fileName: 文件名称export function exportExcel(el, fileName = '下载.xls') { let uri = 'data:application/vnd.ms-excel;base64,'; let template = '<html><head><meta charset="UTF-8"><style type="text/css"&gt

2021-02-22 16:16:49 1621

原创 带中文的网页下载为PDF格式的文件(jsPDF)

jsPDF

2021-02-22 13:34:27 1474

原创 vue-router 执行push的源码解析

vue项目中执行vue-router的源码文件地址:“node_modules/vue-router/dist/vue-router.esm.js”,dist目录下还有其他压缩方式的vue-router源码文件,使用哪种压缩文件是在webpack里面配置的。 在源码里打断点一步一步调试,我寻找push的入口时通过搜索“pushState”,修改浏览器地址需要使用到“pushState”。 整理出源码执行的流程图 通过学习源码,学到2种函数的实现方法。 【1】,通...

2021-01-28 11:31:12 603 1

原创 监听滚动,上下翻页

1、重点公式el.scrollTop + el.clientHeight === el.scrollHeight2、示例代码let curentPage = 1;let totalPage = 10;pdfScroll(event) { let el = event.target; if (el.scrollTop === 0) { // 加载上一页 if (currentPage > 1) { currentPage--; ...

2020-11-25 16:37:17 254

原创 electron: NODE_MODULE_VERSION error

cnpm rebuild --runtime=electron --target=4.0.5 --disturl=https://atom.io/download/atom-shell --abi=69

2020-07-23 14:09:30 175

原创 记一次在NUXT项目修改elementUI源码遇见的问题:Cannot use import statement outside a module Unexpected identifier

nuxt项目需要扩展elementUI组件,故将elementUI组件源码拷贝出来,由于该组件依赖一些elementUI基础组件,比如该组件中引入:importElInputfrom'element-ui/packages/input';访问页面时,nuxt服务端请求报500,页面显示Cannot use import statement outside a module猜测应该是未识别es import语法在nuxt.config.js中添加:build: { transpile:...

2020-05-13 10:51:42 1976 2

原创 eslint在vue中如何使用

eslint vue vscode

2020-04-14 18:08:29 1206

原创 package.json 和 package.lock.json如何管理依赖包

说明:可以直接看”二、管理依赖包“一、基础知识1、版本号一般由a.b.c组成:a=>主版本(架构变化),b=>次版本(添加功能),c=>(修复bug)。2、package.json:管理依赖包文件 版本号符号: a、~(如:~a.b.c)代表保持主次版本号不变(a、b不变),更新到最新版本(如版本1.1.1 更新到1.1.6); b...

2020-04-13 17:03:25 558

原创 原生拖放 drag

1、知识点 拖动元素依次触发事件:dragstart,drag,dragend 放置元素依次触发事件:dragenter,dragover,dragleave或者drop a、默认图像文本和链接是可拖动的,其他元素若想可拖动需设置draggable="true"; b、因为大部分元素默认是不可放置的,若想放置需要重写drag...

2019-08-18 16:29:33 232

原创 await ,async,promise三者结合使用可以解决异步编程时需要实现部分代码同步的问题

await 必须要用在async里面,表示需要等待用了await这个词修饰的promise对象执行完才可以继续执行。 下面是我写的demo: <script type="text/javascript"> function getPromise(){ return new Promi...

2019-01-17 10:47:43 544

原创 app拍照功能:vue+html5+

 1、页面样式,基本样式框架用的YDUI,样式简单,大家也可以自己写&lt;template&gt; &lt;div id="camera"&gt; &lt;div class="relative margin-top30"&gt; &lt;div&gt; &lt;div class="cameraTe

2018-08-01 10:33:17 3428 5

原创 解决跨域的jsonp+Java实例

Jsonp跨域是通过动态创建script标签来实现跨域的,script标签的src属性是没有跨域的限制的,jsonp请求相当于将我们的请求通过script标签的src发送出去,后台返回的数据是callback(名字可以是发送请求时自己命名)包装起来的,前端获取到数据后就会调用页面callback(该函数也是jquery动态生成的function),json的格式的数据直接入参,这就是为什么我们后台要返回的数据是callback包装起来的了。

2017-04-19 15:38:37 5561

jspdf.customfonts.rar

jsPDF支持中文导入

2021-03-01

chinese.rar

chinese.rar

2021-02-22

空空如也

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

TA关注的人

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