自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 leader-line

leader-line 是一个基于 svg 在网页上画指引线的库。本文对 leader-line 官方文档 进行了提炼整理,方便快速上手开发。一、安装下载插件npm install leader-line引入方式一在依赖文件夹中找到leader-line.min.js,路径可参考node_modules\_leader-line@1.0.7@leader-line\lea...

2022-12-01 21:27:08 1199

原创 SVN启用注释模板(本地)

在使用svn提交版本时需要填写注释内容,但是svn仓库管理员没有配置注释模板,为了减少填写注释的工作量及提醒自己填写注释,我们可以在本地配置注释模板,提交版本时会自动带出该注释。1.在本地svn目录右键,选择svn属性。3.选择tsvn:logtemplate,填写需要的注释模板,勾选递归应用该属性,点击确定。4.在属性中可以看到该属性。5.测试提交效果。...

2022-08-16 10:01:51 456

原创 uni-app 与 web-view内嵌网页 双向通信

这里的通信主要测试环境是打包APP端和web-view内嵌网页的双向通信。一、 内嵌网页向uni-app通信参考文章:uniapp web-view内嵌网页向uni-app发消息在web-view访问的网页内引入uni.webview.1.5.3.js,待sdk加载完毕后就可以调用方法postMessage。如下:// index.html<!DOCTYPE html>...

2022-04-28 14:17:00 7322 3

原创 TS-数据类型

一、 基础的数据类型任意类型any:声明为 any 的变量可以赋予任意类型的值。数字类型number:双精度 64 位浮点值,它可以用来表示整数和分数。let binaryLiteral: number = 0b1010; // 二进制let octalLiteral: number = 0o744; // 八进制let decLiteral: number = 6; /...

2022-04-27 10:37:07 219

原创 TS-入门

TypeScript是 JavaScript的一个超集,支持ES6标准,由微软开发的自由和开源的编程语言,它设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的JavaScript可以运行在任何浏览器上。一、 JavaScript与TypeScript的区别TypeScript是JavaScript的超集,扩展了JavaScript的语法,因此现有的JavaScript代码可...

2022-04-26 14:40:58 88

原创 node操作本地数据库-SQLite方案

SQLite是一款轻量级的数据库,SQLite的第一个版本是2000年就发布了的,经过十多年的历练,显然SQLite目前已经相当成熟。SQLite最大的特点就是没有任何数据库服务器,无论是C、java、node.js,只需要相应的驱动,就可以直接对数据库进行读写,速度是相当的快。这里我们通过SQLite3实现对SQLite的一些操作。SQLite3非常小,轻量级,就几百K大小;不需要用户名,密码...

2022-04-25 17:44:24 1564 2

原创 ES8-async&await

async函数是使用async关键字声明的函数,async函数是AsyncFunction构造函数的实例,返回值是一个promise对象,并且其中允许使用await关键字。await操作符用于等待一个Promise 对象。它只能在异步函数 async function中使用。async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为,而无需刻意地链式调用promis...

2022-04-24 09:10:22 186

原创 node操作本地数据库-NeDB方案

NeDB是使用Nodejs实现的一个NoSQL嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及JSON深度查询等。NeDB嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其API是MongoDB的一个子集,可以通过这...

2022-04-23 10:21:03 2199

原创 vue-cli3+Electron

注意:我这里使用的是vuecli3。之前的版本可以参考electron-vue 起步。一、 创建项目创建vue项目。参考我之前的文章vue 之 vue-cli3,创建项目。这里我创建的项目是electron-vue-test。安装electron,自动安装和手动安装任选其一。2.1 自动安装,进入到项目根目录,执行:vue add electron-builder,然后选择elec...

2022-04-22 10:42:07 3687 2

原创 ES11-可选链式操作符 ?.

允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。当尝试访问可能不存在的对象属性时,可选链操作符将会使表达...

2022-04-21 09:19:09 702

原创 ES11-BigInt类型

我们在使用js进行一下大数计算的时候,由于精度限制,会带来计算结果不准确的问题,如:const max = Number.MAX_SAFE_INTEGER;for (let i = 0; i < 10; i++) { console.log(`${max} + ${i} = ${max + i}`)}运行结果我们可以发现当数据达到一定范围以后,js的计算结果就不在正...

2022-04-20 17:14:23 1331

原创 ES11-动态import

在ES6中import只能实现静态导入,也就是我们在使用某一个模块文件的时候,需要在文件头部导入这个模块。如:而在后期的开发过程当中一些时候我们导入的模块并不一定都会使用到,但是还是需要提前导入,这时候就会导入一个实际没有用到的文件如:import ma from './ma.js'var a = getValue();// getValue是一个获取数据的函数if(a >...

2022-04-20 16:20:51 574

原创 JS链式编程

关于链式编程最典型的就是jQuery(虽然我们现在已经很少直接使用jQuery),我们可以通过jQuery完成一系列的链式操作,使编程的流程更加清晰。所谓的链式编程就是可以通过"点"语法,将需要执行的代码块连续的书写下去,使得代码简单易读,书写方便。ES6中的Promise也是使用了这个思想。先来看一个例子// 创建构造函数function Person() { }// 添加方法 set...

2021-12-07 15:32:11 1594

原创 JS 正则表达式及部分示例

一、RegExp 对象常用方法方法描述test检索字符串中指定的值。返回 true 或 false。二、支持正则表达式的 String 对象的常用方法方法描述search检索与正则表达式相匹配的值。match找到一个或多个正则表达式的匹配。replace替换与正则表达式匹配的子串。三、正则表达式1. 匹配任意字符使用...

2021-12-07 11:01:47 631

原创 纯css实现背景颜色渐变动画

纯css实现背景颜色渐变动画,代码及效果图如下。body { width: 100wh; height: 100vh; color: #fff; background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB); background-size: 400% 400%; ...

2021-10-19 17:40:14 8234 1

原创 JS树结构操作

一、遍历树结构1. 树结构介绍JS中树结构一般是类似于这样的结构:let tree = [ { id: '1', title: '节点1', children: [ { id: '1-1', title: '节点1-1' }, { id: '1-2', title...

2021-02-01 11:02:41 591

原创 前端常见内存泄漏及解决方案

最近收到测试人员的反馈说我们开发的页面偶现卡死,点击无反应的情况,特别是打开页面较久的时候发生概率较高。打开任务管理器,看到内存占有率已经很高了,初步判断可能存在内存泄漏的情况。下面排查内存泄漏的原因。系统进程不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。当内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。Chrome 限制了浏览器所能使用的内存极限(64 位为 ...

2021-01-29 15:21:30 122

原创 WEB前端存储技术(cookie/localStorage/sessionStorage/IndexedDB)

目前前端存储数据常用的是Cookie、Storage、IndexedDB三种技术。下面将对这三个技术进行简述。cookie、localStorage、sessionStorage、IndexedDB 之间的区别cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给...

2021-01-28 17:33:55 275

原创 ES6-let & const

一. let与varlet 是块级作用域;var 是函数级作用域。// 示例一{ var a = 12; let b = 15; { console.log(a); //可以访问到 console.log(b); //可以访问到 }}console.log(a); //可以访问到console.log(b); //访问...

2021-01-15 11:13:25 69

原创 nodeJs 转换excel为json

最近遇到一些情况需要对excel进行一些操作,如分割excel、转换为json等。这里我们简单对使用nodeJs的插件node-xlsx将excel装换为json做一下记录。一、安装node-xlsxnpm install node-xlsx// or cnpm install node-xlsx二、解析excel新建main.js/* * @Description: 主程序 ...

2021-01-15 09:29:48 905

原创 Electron开发跨平台桌面应用

虽然 B/S 是目前开发的主流,但是 C/S 仍然有很大的市场需求。受限于浏览器的沙盒限制,网页应用无法满足某些场景下的使用需求,而桌面应用可以读写本地文件、调用更多系统资源,再加上 Web 开发的低成本、高效率的优势,这种跨平台方式越来越受到开发者的喜爱。Electron 是一个基于 Chromium 和 Node.js,使用 HTML、CSS 和 JavaScript 来构建跨平台应用的...

2021-01-14 15:52:26 519

转载 8 个非常实用的 Vue 自定义指令

在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册 自定义指令。它的作用价值在于当开发人员在某些场景下需要对普通 DOM 元素进行操作。Vue 自定义指令有全局注册和局部注册两种方式。先来看看注册全局指令的方式,通过 Vue.directive( id, [definition] ) 方式注册全局指令。然后在入口文件中进行 Vue.use() ...

2020-12-28 11:59:14 99

原创 ES6-set & map

一、SetSet ,就是一堆东西的集合,Set 有点像 Array-数组, 不过跟数组不一样的是,Set 里面不能有重复的内容。创建Set对象let desserts = new Set(['冰淇淋','蛋糕']);Set中添加数据desserts.add("曲奇");获取Set的长度desserts.size;判断Set中是否包含某一个元素desserts.has("甜甜圈"...

2020-11-09 11:33:36 75

原创 ES6-class

ES6提供了更接近传统语言的写法,引入了class(类)这个概念。新的class写法让对象原型的写法更加清晰、更像面向对象编程的语法,也更加通俗易懂。class为构造函数的语法糖,即class的本质是构造函数。class的继承extends本质为构造函数的原型链的继承。一 . 构造函数constructor方法,这就是构造方法,而this关键字则代表实例对象。简单地说,constructor...

2020-11-09 11:26:05 55

原创 vue 之 中央事件总线 bus

在开发一些功能联动比较强的项目时,会涉及到很多的跨级和兄弟组件通信问题,这时候就会用到中央事件总线bus这个概念。我们这里将bus分装为一个vue插件使用。一、定义bus文件import Vue from 'vue'const Bus = new Vue()export default Bus二、使用发送消息// 引入bus文件import bus from '@/bus'...

2020-11-03 19:00:54 170

原创 常见坐标系经纬度转换

当我们在开发的过程中,会使用不同地图,而不同的地图使用的坐标系也都不一样。这里汇总了常见的坐标转换方法。// WGS-84:是国际标准,GPS坐标(Google Earth使用、Cesium或者GPS模块)// GCJ-02:中国坐标偏移标准,Google Map、高德、腾讯使用// BD-09:百度坐标偏移标准,Baidu Map使用// //WGS-84 to GCJ-02// ...

2020-07-23 14:21:12 2399

原创 express反向代理

一、正向代理与反向代理正向代理正向代理,意思是一个位于客户端和原始服务器 (origin server) 之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标 (原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。 --摘自百度百科反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上...

2020-05-29 16:35:20 552 1

原创 html 常用实体符号集合

常用实体符号HTML 原代码显示结果描述&lt;<小于号或显示标记&gt;>大于号或显示标记&amp;&可用于显示其它特殊字符&quot;“引号&reg;®已注册&copy;©版权&trade;™商标在实际开发的过程中,很多情...

2020-04-15 18:32:20 948

原创 cesuim加载倾斜摄影OSGB三维数据

由于个人开发经验问题,之前直接使用obj文件转化的gltf或b3dm文件,转化的文件非常大几百兆直接导入了项目,这样直接会导致浏览器崩溃。后来参考文献发现我这里用的文件不对,应该用osgb文件在较大的做三维模型加载。1、得到正确原始.osgb格式数据;(1)倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式, 数据目录必须有一个 “Data” 目录的总入口, “Data” 目录同...

2020-03-25 15:10:03 521

原创 PowerShell提示:“无法加载文件ps1,因为在此系统中禁止执行脚本”的解决访求...

在PowerShell中运行某些脚本时,会提示:无法加载文件ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"解决办法:1.以管理员身份运行powershell2.输入set-ExecutionPolicy RemoteSigned然后再去运行对应脚本,就可以运行了。...

2020-01-07 14:04:15 907

原创 vue 之 vue-cli3

Vue CLI是一个基于Vue.js进行快速开发的完整系统。在vue-cli3中Vue CLI的包名称由vue-cli改成了@vue/cli。 如果你已经全局安装了旧版本的vue-cli(1.x 或 2.x),你需要先通过npm uninstall vue-cli -g。(这里用的包管理器为npm。)一. 安装脚手架确保安装vue-cli3之前卸载之前安装的旧版本的脚手架。安装命令:np...

2020-01-03 17:32:09 81

原创 前端技术栈概要

一、 浏览器兼容(常规)IE9+、Edge、Chrome、Firefox、Safari、Opera二、 包管理工具npm三、 前端框架vuejQueryreact四、 前端脚手架vue-cli3五、 UI框架PC端element-ui、layui移动端vant六、 ajax框架axios七、 推送技术websocket、轮询八、 css预处理器le...

2020-01-03 14:17:21 118

原创 5条写出更好/干净的js条件语句的建议

原文地址:5 Tips to Write Better Conditionals in JavaScript原文作者:ecelyn Yeen(@jecelynyeen)译文出自:阿里云翻译小组译文链接:https://github.com/dawn-teams/translate/blob/master/articles/5-Tips-to-Write-Better-Condit...

2019-12-17 09:54:25 47

原创 vue 之 IE兼容相关处理

在之前的文章中说过一些关于兼容IE的方法,今天把关于在使用vue全家桶在开发中遇到的IE的的兼容问题汇总了一下。开发框架:vue-cli+axios+router+element-ui+mockjs一、IE和一些低版本的高级浏览器对es6新语法并不支持,使用babel-polyfill。装载babel-polyfill,cnpm install babel-polyfill --save。...

2019-10-31 11:29:43 1517

原创 vue 之 自定义指令

除了核心功能默认内置的指令 (v-model和v-show),Vue 也允许注册自定义指令。注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。---来自官网钩子函数参数指令钩子函数会被传入以下参数:el:指令所绑定的元素,可以用来直接操作 DOM 。binding:一个对象,包含以下属...

2019-07-29 16:42:30 50

原创 js异常捕获、抛出及简单使用案例

在js代码执行过程中一旦有错误,后续的相关代码都会终止,这样会使得我们的项目代码结构上很不健壮。在其他的一些编程语言中都有异常捕获的方法,提供了异常处理机制,可以处理出现的异常,而不会停止整个应用程序.在es3之后的版本中js也可以进行异常捕获,通过try{}catch{}使的前端代码更加健壮。Error具有下面一些主要属性:1.description: 错误描述 (仅IE可用).2.fi...

2019-07-24 18:22:10 450

原创 vue 之 $nextTick

一、什么是Vue.$nextTick()官方给的解释为:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。我的理解为:nextTick()是将回调函数延迟在dom更新数据后调用,就是当数据更新后且dom渲染后,再自动执行该函数。二、使用场景在created()中进行dom操作。由于在created()中,dom节点还没有渲染,如果需要...

2019-05-22 11:13:20 196

原创 Linux 安装node.js

在node.js官网现在Linux系统的node.js的安装文件。下载之前务必检查确定一下自己的Linux系统位数。可通过uname -a命令查看Linux系统位数。将下来的tar文件上传到服务器并且解压(我这里上传的位置为/web)rz 上传命令。tar -xvf node-v6.10.0-linux-x64.tar.xz 解压上传的node.js安装包。mv node-v6.10.0-...

2019-05-22 10:00:41 47

原创 Linux 常用文件操作

ls列表显示目录内容ls -l长格式显示文件或目录信息ls -a显示所有包括隐藏的文件或目录ls -h以K、M、G单位显示文件或目录信息ls -d显示目录本身属性信息mkdir创建目录mkdir -p /a/b创建嵌套的目录rmdir删除空目录rm删除目录或文件rm -f强制删除目录或文件rm -r递归删除目录或文件cp复制文件或目录cp -r源目递归复制文件或目录mv移动或重命名文...

2019-05-22 09:16:38 50

原创 WebSocket 长连接实现

由于工作需要,近期需要做一个即时通讯的功能,所以就单独去了解了一下WebSocket的相关知识,学习、使用一下WebSocket。什么是WebSocketWebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。为什么传统的HTTP协议不能做到WebSocket实现的功能?这是因为HTTP协议是一...

2019-03-22 19:55:08 193

空空如也

空空如也

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

TA关注的人

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