自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (5)
  • 收藏
  • 关注

原创 sessionStorage&localStorage监听

单页面应用,不切换浏览器tab页的情况,可以通过自定义事件进行监听// 触发事件function resetSetItem (key, newVal) { var setItemEvent = new Event("setItemEvent") setItemEvent.newValue = newVal window.dispatchEvent(setItemEven...

2020-12-28 17:51:12 1009

原创 node项目自动打zip压缩包

node项目自动打zip压缩包普通node项目参考文章:https://www.cnblogs.com/xieqian/p/10973324.htmlhttps://blog.csdn.net/weixin_43968658/article/details/102949470安装依赖yarn add compressing -Dyarn add dayjs -D脚本node执行以下...

2020-12-23 18:21:57 683

原创 [转载] for循环中let和var区别

首先看一段代码:for(var i=0;i<5;i++){ setTimeout(()=>{ console.log(i);// 5个5 },100)}console.log(i);// 5for(let j=0;j<5;j++){ setTimeout(()=>{ console.log(j);// 0,1,2...

2020-12-21 17:23:08 344

原创 pandoc实现markdown文档和docx互相转换

pandoc实现markdown文档和docx互相转换安装下载链接:https://github.com/jgm/pandoc/releases/tag/2.11.2下载系统对应的版本配置系统环境变量使用markdown文档转docx文档pandoc -s test.md -o test.docxdocx文档转markdown文档pandoc -s test.docx -t ma...

2020-12-18 16:06:09 399

原创 [转载] vue——css深度作用选择器 >>> 、/deep/ 、::v-deep

官方文档地址,更多关于Scoped CSS的内容vue项目中,经常需要使用如elementUI等组件库,有些样式直接在组件中修改无效,因为scoped局限于当前组件,去掉scoped的话又会影响全局样式。针对这种情况,可以使用深度作用选择器(即样式穿透)。>>>如果项目使用的是css原生样式,那么可以直接使用 >>> 穿透修改<style sco...

2020-12-15 15:18:37 133

原创 vue项目打包文件增加hash值

vue项目打包文件增加hash值vue-cli2项目修改vue项目根目录下的 build/webpack.prod.conf.js文件js文件:output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash].js'), chunkFilename: utils...

2020-12-15 15:03:33 3780

原创 vuepress

1小时搞定vuepress快速制作vue文档/博客+免费部署预览

2020-12-14 16:43:36 96

原创 vue路由卫士&vuex命名空间

关于vue的两个比较重要的部分:路由和vuex,推荐学习官方文档,讲的十分清楚和明白,配合自己动手实践更容易掌握vue路由卫士详解官方文档:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html#%E5%85%A8%E5%B1%80%E5%89%8D%E7%BD%AE%E5%AE%88%E5%8D%ABvuex详解官...

2020-12-14 14:06:07 95

原创 Vue watch的用法总结

watch的最常见用法:export default { data() { return { test: 'msg' } }, watch: { test(news, olds) { alert(news + olds) } }}这种是我们在项目中比较常用的写法,能满足我们大部分的需求,但是有些情况单单这种写法就满足不了...

2020-12-11 17:30:09 312

原创 CSS background属性的学习和思考

css的background属性十分强大,我们常用的相关属性有background-image,background-color,background-position和background-repeat这四个属性,这四个属性在CSS1就有了,所以大家用的比较多,也比较熟悉,但是还有几个属性也比较重要,可以方便大家解决不少问题background-size规定背景图片的尺寸版本:CSS3语...

2020-12-11 15:49:18 102

原创 CSS背景切角的实现研究

问题我们在写前端页面过程总,会碰到这种情况,UCD给的一个带切角的背景给我们当一个模块的背景,然后这个模块的宽高又都不是固定的,这种情况下,如果改变模块的大小,切角的角度就会发生变化,如下图所示(原图切角为45度):1.PNG本来是45度的切角,经过减少模块的高度后,切角变成了上图的模样三明治解决方案一般碰到这种情况,如果模块的宽度不变,只有高度变化的话,我们会将该模块的背景变...

2020-12-10 17:41:13 330

原创 关于async/await用法的一些总结

关于async/await的一些原理和用法,阮一锋老师的博客已经讲得很清楚了,下面做一些个人的总结:async是function的修饰符,表示函数里面有异步操作。用async修饰函数后,函数的return值会自动被Promise.resolve()包裹,比如async function getAsyncValue() { let kkm = await getvalue() ret...

2020-12-09 18:01:16 233

原创 vue强制组件重新渲染

在有些时候,我们需要强制重新渲染组件例如,在使用elementUI的联级下拉选择框的时候,我们选择了指南/设计原则/反馈,然后再选择一级选项组件,后面点开下拉框时一级选项都是选的组件,和我们实际选择的不匹配,如下图所示:image.png这是因为下拉框仅仅再第一次出现时是重新渲染,后面再收起只是隐藏,会记录之前的一些样式状态。如果我们希望下拉框每次展示都重新渲染,可以在下拉框收起的时候...

2020-11-24 14:41:05 284

原创 Echarts局部引入报错:TypeError: Cannot read property 'findAxisModel' of undefined

在Echarts局部引入依赖的时候,如果有需要用到的依赖没有引入就会报错,比如在使用柱状图+极坐标显示环形图的时候,如果没有引入ploar就会出现标题的报错,这时候只要引入这个依赖就好了:require("echarts/lib/component/polar")...

2020-11-20 13:56:23 2174 1

原创 vue项目中全局引入jQuery

以下是vue-cli3实现的例子:vue.config.jsmodule.exports = {configureWebpack: config => { config.module.rules.push({ test: require.resolve('jquery'), use: [{ loader: 'expose-loader',...

2020-11-12 18:51:18 270

原创 vue组件实现双向绑定

vue组件实现双向绑定在封装vue组件过程中,有时候会碰到需要实现组件的某个属性需要和父组件的某个值双向绑定,碰到这种情况如何实现呢?比如,我们要封装一个输入框组件,父组件的某个值要和子组件的输入框中的值双向绑定,直接上代码:父组件:<template> <div> <div> <kkm v-model="datas"&gt...

2020-10-22 20:28:19 383

原创 弄懂Prettier相关npm包和VSCode插件

ESLlint是我们常用的代码质量检查工具,当然它也有代码风格检查的能力。ESLint在代码风格这块做到并够好,所以Prettier就出现了。官方自称Prettier是一个“有主见”的代码格式化工具。ESLint和Prettier的关系我们大致有了一个大概的了解,下面这边文章有详细的介绍:搞懂 ESLint 和 Prettier相关npm包在使用ESLint的项目中,如果要使用Prettier,我们要安装额外的三个包:prettier、eslint-config-prettier和eslint-plu

2020-08-16 19:36:01 2145

原创 npm安装私有仓库npm包

在项目开发过程中,当我们需要在不同项目中引用公共的自定义npm包的时候,我们优先想到的是将npm包发布到npm官方服务器上,然后在不同的项目上引用就行了但是由于种种原因,我们的包不能发布到公网,只能发布到内网的私有npm仓,那么在这种情况下我们如何安装这些发布到私有仓库的npm包呢,本文将介绍两种方式:package.json上直接写明包在npm私有仓库中的的完整路径// package.json{ "dependencies": { "@com-huzhenv5-npm/esl

2020-08-14 11:00:19 8804

转载 npm安装node-sass等下载binary加速

国内安装npm包的时候,很多都需要从GitHub下载binary文件,即使你把npm的registry设置为国内的镜像,binary的url是程序设定的。不过目前最重要的几个包,都可以通过修改环境变量来让下载从国内的镜像下载,在.npmrc加入如下内容:registry=https://registry.npm.taobao.org/sass_binary_site=https://npm.taobao.org/mirrors/node-sass/phantomjs_cdnurl=http://cnp

2020-08-14 10:27:57 2692

原创 web前端常用js工具库收集

web前端推荐使用js工具库收集LodashLodash, 作为NPM最多下载量和被依赖最多的包,旨在为数组,字符串,对象和参数对象提供更一致的跨环境迭代支持由于业务需要,项目中常见的一些对象的处理、数组的处理都可以用到它。比如在一些场景下用它的get方法从对象中取值,可以省去很多判断,简化代码逻辑提高代码可靠性官方文档:https://www.lodashjs.com/momentmoment.js是一个js的时间处理库,可以用来分析、验证、处理和格式化时间js原生的Date不太好用,比如在

2020-08-11 11:32:15 473

转载 css伪类的顺序

首先我们需要知道css伪类是用来添加一些选择器的特殊效果。link 表示的是正常情况下链接的样式。visit 代表链接访问后的样式,则链接一旦被访问,则之后它的样式就会是你所设置的visited样式。hover 在鼠标移到链接上时添加的特殊样式。focus 在一个元素成为焦点时生效,用户可以通过键盘或鼠标激活焦点。active 在一个元素处于激活状态(鼠标在元素上按下还没有松开)时所使用的样式。hover 理论上任何元素都可以使用的,focus多是针对表单的,如input等 。而active多

2020-08-11 10:41:34 1167

转载 Vue的 v-for 中 :key 有什么用

key值的作用我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。vue和react的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:1. 两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构。2. 同一层级的一组节点,他们可以通过唯一的id进行区分。基于以上这两点假设,使得虚拟DOM的Diff算法的复杂度从O(n^3)降到了O(n)。这里我们借用React’sdif

2020-08-10 19:35:24 496

原创 Vue项目中如何禁止不规范的代码提交Git

Vue项目中如何禁止不规范的代码提交Git首先,如果要检验vue代码,我们需要安装eslint、vue-eslint-parser和eslint-plugin-vue,安装这三个包之后,我们就可以配置自己的代码规范,并使用ESLint来校验我们项目中的代码了。如果需要我们还可以通过安装VSCode的ESLint插件和通过VSCode的一些配置来实现编码过程中实时提示警告跟错误,并且在保存代码的时候自动修复部分错误接着上面的说,虽然有部分错误ESLint能够帮我们自动修复,但是ESLint不是万能的,有些

2020-08-05 19:26:47 2714

原创 Echarts x轴设置上下偏移

Echarts x轴设置上下偏移在我们使用Echarts过程中,有时会碰到需要让x轴上下偏移的情况。举个例子,如下图中我们加粗了x轴,默认情况下柱子图形会压着x轴的上半部分,导致整体看起来十分的怪异如果想要整体看起更美观,我们可以通过提升柱形图位置,或者降低x轴位置,让柱形图刚好挨着x轴上边缘,这种情况下会更美观一点,我们该如何实现呢?利用stack这种方法的原理是通过柱子图形同stack会自动叠加的原理,我们增加一组假数据,设置为跟真实业务数据相同的stack,并设置柱子颜色为透明,这样从视觉上

2020-08-05 11:30:44 20150 1

原创 Echarts鼠标移动切换数据项时Tooltip卡顿情况优化

大家在使用Echarts的过程用,可能会碰到这样的情况,就是鼠标切换数据项过快时,鼠标hover触发的Tooltip的展示会有延迟的现象,给用户有一种很卡的感觉。特别是当页面内容较多,或者trigger为’axis’ 触发Tooltip很频繁的时候。 针对这种情况,我们可以通过以下两个配置优化一下:tooltip.enterable该配置的含义是:鼠标是否可进入提示框浮层中,默认为false。我们通过将此项设置为true,让鼠标可以进入Tooltip浮层,当输入进入Tooltip浮层时,就不会触发其它数

2020-08-04 20:30:46 4033 11

转载 Web Gis开发需要了解的Gis基础知识整理

Web Gis开发需要了解的Gis基础知识整理一 大地测量学大地测量学是一门量测和描绘地球表面的学科,也包括确定地球重力场和海底地形1.1 大地水准面 (geoid)大地水准面是海洋表面在排除风力、潮汐等其它影响,只考虑重力和自转影响下的形状,这个形状延伸过陆地,生成一个密闭的曲面。虽然我们通常说地球是一个球体或者椭球体,但是由于地球引力分布不均(因为密度不同等原因),大地水准面是一个不规则的光滑曲面。虽然不规则,但是可以近似地表示为一个椭球体,这个椭球体被 称为参考椭球体(Reference el

2020-08-04 14:22:02 503

原创 Vue开发中使用ESLint

Vue开发中使用ESLint文章目录Vue开发中使用ESLint一、ESLint简介1. JavaScript 为什么需要 lint2. JSLint 和 JSHint3. ESLint 的诞生4. 可扩展性的胜利二、ESLint使用入门1. 安装2. 测试3. 修改配置文件4. 通过注解跳过某行的检查5. 自动修复三、在Vue开发中使用1. 相关npm包介绍1.1 eslint1.2 babel-eslint1.3 vue-eslint-parser1.4 eslint-plugin-vue2. vsc

2020-08-04 09:43:18 1913

转载 产品之 2B、2C与2G

一. 相同之处都是为了解决人的需求,都需要去深入挖掘目标用户的需求,进行分析转化为功能,利用最低的成本去满足用户最迫切的需求。都需要把产品做好,用户用得爽,才能实现盈利。产品经理都需要具备核心能力(包括:需求分析、产品管理、项目管理、沟通能力、技术能力、业务能力、产品设计、学习能力、逻辑思维等)。二、不同之处(1)产品定位:To C需从产品能给人们解决哪些问题的角度去考虑产品定位;T...

2020-04-29 17:52:42 6699

转载 程序员,请停止学习框架!

每过几年都有类似的文章出现,然而程序员却依然疲于学习新的框架,看完此文希望对你有所启示。这是一篇译文,原文在 Hacker News 上获得接近 500 个点赞。那么,译文开始。我们程序员,每天都在了解最新的技术,每天都在学习编程语言、框架和库。因为我们知道的现代编程工具越多越好,对吧?不停地追随 Angular、React、Vue、Riot、Ember、Knockout 的脚步还真是一件有...

2020-04-15 20:27:27 287

原创 webpack4打包时如何默认解析package.json中main字段指定的文件

从webpack2开始,webpack在打包node应用时,默认优先解析的是package.json中module字段指定的文件,module字段指定的文件是采用es模块方案的包的入口文件。由于某些特殊原因(什么原因,后面会提到),我们希望webpack在打包时还是默认解析package.json中main字段指定的文件,那么我们该如何配置webpack呢?这时我们可以使用webpack的reso...

2020-04-06 17:37:56 3746

原创 ES6和commonJs模块化规范的混用

ES6和commonJs在webpack下的混用为了最大化利用ES6规范不引入无关代码从而减小打包体积的优势,越来越多的模块支持同时将自己的模块发布成commonJs和ES6规范的的文件,在package.json中的"module"字段配置ES6模块入口文件路径,现在像webpack,rollup都已经支持该字段,在打包过程中不再引入package.json中"main"字段对应的文件,而是引...

2020-04-01 00:10:53 4806

翻译 package.json中的type字段含义—— node官方翻译

package.json的“type”字段如果最近的package.json文件包含一个顶级字段“type”,其值为“module”,则以.js结尾或没有任何扩展名的文件将作为ES模块进行加载。最近的package.json被定义为第一个在当前文件夹、该文件夹的父文件夹等中搜索时发现的package.json,直到到达卷的根目录。// package.json{ "type": "mo...

2020-03-31 21:41:14 18136

原创 import和require用法示例

Import和require的区别不用多说了,分属于不同的规范,我们今天分别来试试怎么使用它们Common.js该规范通过exports和module.exports进行导出,通过require进行导入,我们看下面两个简单的例子:// b.jsmodule.exports = { bb: 'hello bbb'}// c.jsexports.cc = 'hello ccc'...

2020-03-31 15:14:15 393

转载 熵:宇宙的终极规则

有人曾经问我:“成年后,有没有书籍改变过你的世界观?”我想了想,还真有这样的书。那时,我已经工作好几年了,偶然在图书馆翻到一本旧书《熵:一种新的世界观》(上海译文出版社,1987)。那本书是科普著作,介绍物理学概念"熵"。中学毕业后,我再没有碰过物理学,但是没想到读完以后,我看待世界的眼光都变了。"熵"这个概念非常简单,很容易理解,但又异常强大,可以解释很多事情。这篇文章,我就来谈谈,为...

2020-03-30 22:09:59 428

转载 在新版的nodejs下,直接使用es6语法的方法

在nodejs8以上已经原生支持es6语法书写代码了,该方法是实验性的,测试可以用用,生产慎用。需要做如下两步:把原来的 .js改为.mjsstart-point.js ↓start-point.mjs需要增加node运行参数--experimental-modules//举个栗子node --experimental-modules start-point...

2020-03-30 15:05:08 1815 3

转载 童子军法则

本文为翻译转载,原文通道:The Boy Scout Rule。翻译人:安秦【相关背景知识】西方国家有一种活动组织形式叫童子军,通常面向小男孩或男青年。通过组织团体活动、公益行动和夏令营来达到培养人格、动手能力、思考能力、团队协作、公益心等方面的目的。【译文】童子军里有一个规定:“离开的时候,总要让露营地比你来的时候更干净。” 如果你在地上发现脏乱,把他收拾了,无论是谁造成的。要刻意地为...

2020-03-30 11:37:59 641

转载 babel7入门 —— 超详细学习笔记

babel主要作用就是将某些低版本容器(主要是浏览器,主要是IE…)不支持的js语法或api,用该容器支持的语法或api重写,使开发者可以使用更前沿的方式愉快的编写代码。但实际上更准确点说,是一堆插件在做代码的转换,babel本身是个容器,负责代码解析、转换抽象语法树,然后通过各种插件做代码转换,最后根据转换后的抽象语法树生成最终的代码。这个过程以后再细说,这里想说的就是插件对于babel的作用...

2020-03-28 14:11:20 2418 1

原创 webpack@4中babel7配置

安装首先确保本地已经安装了webpack和webpack-cli安装babel-loadernpm i -D babel-loader安装玩后,控制台有提示:按照提示安装@babel/core@^7.0.0npm i -D @babel/core@^7.0.0继续安装@babel/preset-envnpm i -D @babel/preset-env注意:注意版本冲...

2020-03-28 14:08:33 919

原创 webpack合并js文件的几种方式

假如我们有两个js文件,a.js和b.js,代码如下:// a.jsconsole.log('这是a文件')// b.jsconsole.log('这是b文件')我们如何通过webpack把它们合并成一个文件呢?方法一我们可以再webpack配置文件中,配置多个入口文件,这样就能合并成一个文件了:// webpack.config.jsconst path = require...

2020-03-27 22:57:34 4667 1

原创 webpack@4取消自动压缩 —— mode配置

新版本的webpack@4在打包之后默认是对js进行了压缩的,那么如何设置不自动压缩呢,这需要用到webpack的mode配置mode提供模块化的配置选项告诉webpack使用相应的优化选项。当不对它进行配置的时候,默认值是"production",我们只需要将该值设置为"development",则webpack则不会对打包后的js文件进行压缩,示例:// webpack.config.j...

2020-03-27 22:30:48 5132

crossRequest-3.0.zip

介绍:谷歌浏览器跨域请求crx插件(内附详细使用方法) 使用场景:YApi测试接口时的跨域请求 使用方法: 1、首先把需要安装的第三方插件,后缀.crx 改成 .rar,然后解压,得到一个文件夹 2、再打开chrome://extensions/谷歌扩展应用管理,点击右上角的开发者模式,就可以看到“加载正在开发的扩展程序”这一选项。 3、选择刚才步骤1中解压好的文件夹,确定 4、确认新增扩展程序,点击添加,成功添加应用程序。

2020-02-04

chrome.adm

介绍:windows本地计算机策略,chrome管理模板 解决问题:通过组策略添加扩展程序白名单的方式屏蔽谷歌浏览器的"请停用以开发者模式运行的扩展程序"提示 使用方法: 运行中输入“gpedit.msc” ,打开 本地策略组 ,导入chrome.adm,再把被禁用的插件ID复制下来,依次找到:`Google Chrome` >>> `扩展程序` >>>` 配置扩展程序白名单`,将刚才的复制的ID粘贴进去

2020-02-04

geoserver-2.15.4-mysql-plugin.zip

该插件对应的geoserver版本为2.15.4,其它版本的geoserver请勿下载! 从geoserver官网下载的安装包是不包含mysql插件的,如果需要创建mysql数据存储就需要自己手动安装mysql插件。下载解压后,将里面包含的两个jar包放到geoserver包的WEB-INF\lib目录下,然后重启geoserver即可

2019-12-27

geoserver-2.14.2-mysql-plugin.zip

该插件对应的geoserver版本为2.14.2,其它版本的geoserver请勿下载! 从geoserver官网下载的安装包是不包含mysql插件的,如果需要创建mysql数据存储就需要自己手动安装mysql插件。下载解压后,将里面包含的两个jar包放到geoserver包的WEB-INF\lib目录下,然后重启geoserver即可

2019-12-26

geoserver-2.14.0-mysql-plugin.zip

该插件对应的geoserver版本为2.14.0,其它版本的geoserver请勿下载! 从geoserver官网下载的安装包是不包含mysql插件的,如果需要创建mysql数据存储就需要自己手动安装mysql插件。下载解压后,将里面包含的两个jar包放到geoserver包的WEB-INF\lib目录下,然后重启geoserver即可

2019-12-26

空空如也

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

TA关注的人

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