自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过nvm管理node版本

nvm简介nvm是一个nodejs的版本管理工具,可以通过它安装和切换不同版本的nodejs,主要是用于解决node版本不兼容问题。在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的 NodeJS 运行环境,这种情况下,对于维护多个版本的 node 将会是一件非常麻烦的事情。nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。下载window 使用 nvm-window选择nvm-setup 然后下载后

2021-11-02 13:48:07 744

原创 redux、react-redux、redux-saga的使用

Redux安装# NPMnpm install redux# Yarnyarn add reduxstatestate就是存放数据的地方state数据需要通过reducer来管理发起reducer需要通过dispatchdispatch的参数是一个action总结来说,state的修改需要通过dispatch发起一个action,然后通过reducers返回一个新的state。Actionaction是把数据从应用传到store的有效载荷,是store数据的唯一来源。需要

2021-09-10 22:58:38 481

原创 git设置区分文件名大小写

说明在使用git提交代码的时候总是会遇到对于文件名称修改的情况,其他情况下git还是可以识别出删除和新增的文件的,但是在大小写修改的时候,git默认是不区分大小写的,导致在本地显示是正确的但是在远程仓库出现了一个大写一个小写的两个相同的文件。设置设置区分大小写进入项目文件夹输入git config core.ignorecase false命令即可直接修改项目中的.git/config文件的ignorecase也是同样的效果。全局设置 git config --config core.igno

2021-09-10 09:34:45 6839 1

原创 javascript中判断数组类型的方法

Array.isArray()let arr = [1, 2, 3];Array.isArray(arr) // trueinstanceoflet arr = [3,4];arr instanceof Array // trueconstructorlet arr = [2,3,4];arr.consstructor === Array; // trueprotolet arr = [3,4,5];arr.__proto__ === Array.prototype; // t

2021-03-26 23:00:24 157

原创 如何重装npm

对于npm总是会出现一些无法使用的问题,需要重新安装一下npm。首先将安装npm的文件夹删除,安装npm 的文件夹在C:\Users\sun\AppData\Roaming\npm然后卸载node下载新的node并且安装这样新的npm就重新安装好了,就可以正常使用了。...

2021-03-06 16:45:10 16746

原创 前端proxy代理

前后端分离开发的时候会出现跨域,前端可以通过webpack-dev-server进行本地代理服务。设置代理devServer: { proxy: { '/api': { // 接口访问的地址 target: url, secure: false, // 如果是https接口,需要配置这个参数 pathRewrite: { '^/api'

2020-11-27 17:35:44 4845 1

原创 h5移动端如何适配rem

使用amfe-flexible下载插件amfe-flexiblenpm install amfe-flexible使用// 引入amfe-flexibleimport 'amfe-flexible/index.js'引入之后直接使用rem进行书写相关的样式就可以了,这个插件会根据屏幕自动设置相关的fontsize。注意:使用这个插件需要使用rem,这个需要自己手动将设计稿中的px转换成rem;...

2020-11-10 17:08:44 702

原创 html2canvas.js不能正常截图

html2canvas.js在有-webkit-box时 属性无法将有这个属性的盒子截图通常在使用多行省略时,会使用display:-webkit-box属性,然而html2canvas.js并不会识别这个属性,所以有这个属性的盒子将不会出现在截图当中,会出现空白显示。解决方法:不使用这个属性,就可以正常进行截图显示...

2020-11-07 11:58:17 559

原创 git拉取报错:You have not concluded your merge. (MERGE_HEAD exists)

You have not concluded your merge. (MERGE_HEAD exists)原因一般出现这种情况是没有完成上次的merge操作,就进行了pull操作,就会报这种错误,在pull之前一定要将先前的冲突解决掉。git语法操作git fetch --allgit reset --hard orgin/mastergit fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本webstrom解决办法1、在git操作中选

2020-11-07 11:50:26 2757

原创 webstrom配置动态将scss编译成css

webstrom配置动态将scss编译成css软件准备在配置之前需要安装ruby和sass安装ruby电话环境:window10 X64ruby安装网站:https://rubyinstaller.org/downloads/点击网站上的进行下载就好,我下载的是最新版:buty-2.7.2-1下载完成后直接点击安装就好检验ruby是否安装完成ruby -v打开cmd输入以上命令,出现正常的版本号,说明安装成功,否则重新打开cmd再试一次,再不行就重新装一次。2. 安装sass

2020-10-17 15:44:32 362

原创 [解决]Sass Loader has been initialized using an options object that does not match the API schema

Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.问题在配置scss全局配置文件的时候出现了错误,sass-loader v7 以上的版本,将选项名从 data 更改为 prependData,修改完成后发现还是有问题,通过排查发现在项目中只使用了scss,再配置的时候配置了scss sass,将sass配置删除就好用了c

2020-09-15 11:17:29 11539 1

原创 如何获取iconfont项目中所有的图标名称

iconfont中提供了一个.json文件用于读取项目中所有的图标的名称,需要在iconfont项目网站上将文件下载下来。

2020-04-27 22:57:11 4542

原创 iview中的form表单进行多层嵌套对象的校验

iview的form表单校验iview是常用的vue的ui组件,其中实现了许多的功能,其中一个最常用的还是表单功能,iview自带了表单的校验功能,在保存的时候通过调用validate方法就可以进行表达校验。将form中绑定的值放在model上面,将每个需要进行校验的规则写在rules中在form-item的prop上写上相应的键值在需要校验的时候调用validate方法进行规则校验...

2020-04-27 22:51:32 4746 3

原创 vue-cli3 + electron初始化项目

vue-cli3安装npm install -g @vue/cli# ORyarn global add @vue/cli安装成功后通过命令行查看是否安装成功:vue --version#ORvue -V // 查看当前版本为3.几就是 成功的项目创建vue create vue-app 添加electron使用的是vue-cli-plugin-electron-bu...

2019-09-20 15:17:02 884

原创 js实现导出文件流

第一种方式可以使用window.location.href直接导出,只限于导出excel文件,如何导出像txt等文件时使用该方法会导致浏览器直接打开文件。window.location.href = '1234.xlsx';第二种导出方式模式是首先创建一个a标签,然后点击a标签进行文件的下载,这一种是get接受到的文件流。let blob = new Blob([file], {typ...

2019-08-31 15:43:41 3021 1

原创 input输入框禁止显示浏览器记录

在输入input时会出现显示原来输入的内容的情况,这是由于浏览器将先前的历史进行了记录,在input中进行了历史记录的显示,如:解决办法:在input中添加属性 autocomplete="off".定义和用法:autocomplete 属性是HTML5的新属性自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。注释...

2019-08-22 09:48:34 6838

原创 webstrom中如何向项目中添加git地址

项目创建git然后选择项目正确的问件加,就可以创建好git。项目中添加多个git首先打开添加地址的位置,然后选择remotes在弹窗中点击+号,最后添加git仓库的账号密码就完成添加了。然后再push仓库的时候可以选择不同的仓库进行添加了。...

2019-07-25 08:57:03 4335

原创 node npm配置以及版本升级

查看版本node -v 查看node版本npm -v 查看npm 版本更新版本npm install -g npm 更新npm到最新版npm install -g node 更新node到最新版清除npm缓存npm cache clean -f

2019-07-05 16:04:09 2556

原创 数组最大值/最小值计算方法

遍历数组比较大小将第一个值认为是最大值或者最小值,经过每一次的循环进行判断赋值,比当前大或者小时进行替换,依次这样,到最后获得的就是最大值/最小值。let arr = [1,5,3,2,7,4];let max = arr[0], min = arr[0];for (let i = 1; i < arr.length-1; i ++) { if (max < arr...

2019-06-11 16:36:02 1929

原创 字符串和数组的合并与截取

字符串的截取 slice用法:slice(start, end)方法提取字符串要提取的部分,start(包含)和end(不包含)来指定位置,负数从字符串的末尾进行开始。let str = 'hello word';let n = str.slice(1,3); // el 注意:该方法并不会修改原字符串,当为0时返回的是整个字符串。字符串的截取 substring用法:和slice相...

2019-05-08 23:08:25 939

原创 git中修改名称和地址

查看用户名和地址git config user.name // 查看用户名git config user.email // 查看地址修改用户名和地址// 其中括号中的是在全局设置是使用,如果只是该项目使用则不需要带git config (--global) user.name "your name"git config (--global) user.email "your em...

2019-05-07 22:55:12 1186

原创 vue中侦听器和计算属性的使用

watch侦听器在vue中有一些操作总是在某一个值得改变后进行相应的操作,这就需要进行动态的追踪该值得改变,并且进行相应的操作,这种情况下就需要使用侦听器watch。普通用法如果需要追踪的值知识简单的基础类型的改变,只需要使用watch的普通用法即可进行动态的监听属性的变化。watch: { value() { // 在value变量改变后进行其他操作。 ...

2019-05-07 22:52:03 320

原创 element-ui中的scrollbar组件使用

简介scrollbar是element-ui中的一个虚拟滚动组件,只是在文档中并没有写出来,也是可以正常使用的使用scrollbar组件暴露了 native, wrapStyle, wrapClass, viewClass, viewStyle, noresize, tag 这7个 props属性props: { native: Boolean, // 是否使用本地,设为true...

2019-03-09 09:52:54 2003

原创 vue组件注册的方式

vue全局组件注册可以在全局每个页面使用Vue.component(‘tag-name’,{})Vue.component(component.name, component); //component=&amp;gt;require( './component/component)//或者import tag from './tag.vue'Vue.component('tag-na...

2019-02-21 17:21:28 165

原创 css伪类选择器

css中有许多的伪类选择器,用来实现一些特殊的效果链接选择器实例说明linka:link选择所有未访问的链接visiteda:visited选择所有访问过的链接hovera:hover鼠标放在上面的状态activea:active正在活动的链接a:link {color:#FF0000;} /* 未访问的链接 */a:visite...

2019-02-16 17:55:11 135

原创 indexedDB错误记录

DOMException: Failed to execute ‘put’ on ‘IDBObjectStore’: Evaluating the object store’s key path did not yield a value.通过查找发现出现这种错误的原因是keypath在保存的数据中没有定义,在保存的数据中需要添加keypath对象。...

2019-01-23 17:29:45 3010 2

转载 js中的eval函数

简介eval函数是一种接受字符串作为参数,并且可以将接受的字符串转换成js表达式并且立即执行该表达式。语法:eval(str)参数说明:如果是一个表达式,eval函数将执行表达式如果是字符串,会先转换成js语句然后执行使用情况eval('var a=1');//赋值a=1eval('2+3')//5复杂表达式let render = {data:[{render:{tabl...

2019-01-22 00:06:57 4460

原创 前端数据存储方式之indexedDB

简介前端从发展到现在已经形成了一定的浏览器存储数据的方式,有cookie、sessionStorage、localStorage、indexedDB以及被废弃的web sql.特点:键值对存储 每一条数据有一个主键,主键独一无二,实行key-value进行存储。异步操作 实行异步操作。支持事务 支持事务操作意味着数据操作只有成功和失败两种状态。同源策略 每一个数据库对应创建它的域名,...

2019-01-21 23:26:09 1256

转载 Git 如何查看和修改用户名、邮箱?

当在GitHub中更改用户名时,git中并没有随之修改,需要自己进行修改,下面给出查看和修改用户名以及邮箱1、查看用户名以及邮箱,使用git config命令git config user.namegit config user.email2、修改用户名以及邮箱,使用git config 命令的–global参数git config --global user.name "your n...

2018-12-08 14:36:01 3305

转载 node-schedule使用介绍

node-scheduleNode Schedule 是一个Node.js的灵活的类似cron又不类似的任务调度库.它允许你调度任务(任意函数)在特殊的日期执行,并循环执行。他只在在任何给定的时间里使用一个定时器(而不是每隔一秒/一分钟来重新判断将要执行的任务)使用安装你可以使用 npm.npm install node-schedule概述node-schedule 是一个基于时...

2018-11-05 15:25:14 13722 2

转载 canvas画图出现模糊现象

解决方法使用canvas进行画图在分辨率高的设备上会出现模糊现象,解决这种问题的思路是:首先讲画布的大小进行按照设备进行放大devicePixelRatio属性进行相应的调整,设个属性是表示浏览器通常会使用几个像素点进行渲染我们设定的1像素(通常会使用2像素进行渲染)。然会将画好的图像使用scale()进行相应的放大这样就可以将图像的模糊问题进行解决了。下面是应用的一个小例子:va...

2018-10-25 15:12:28 3612

转载 pm2文件配置详情

简介PM2是一个带有负载均衡功能的Node应用的进程管理!内建负载均衡(使用Node cluster 集群模块)可以在后台运行可以0秒停机重载,(可以理解为不需要停机重启,在用户愉快的浏览页面时我们已经程序更新了)控制台检测日志管理热重载…相关配置{ "apps": { "name": "wuwu", ...

2018-09-29 14:18:23 1223

转载 pm2常用命令

$ pm2 start app.js # 启动app.js应用程序$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例#4个应用程序会自动进行负载均衡$ pm2 start app.js --name=“api” # 启动应用程序并命名为 “api”$ pm2 start app.js --watch # 当文件变化时自动重启应用...

2018-09-29 08:51:21 1574

原创 一篇文章带你入门webpack4

webpack是什么webpack是模块化管理工具,使用webpack可以对模块进行压缩、预处理、按需打包、按需加载等。 从 webpack 4.0.0 版本开始,可以不用通过引入一个配置文件打包项目。然而,webpack 仍然还是 高度可配置的,并且能够很好的满足需求。核心入口(entry) 模块的入口起点。输出(output) 打包输出的路径,默认./dist/mai...

2018-09-18 23:23:29 281

转载 async中series、parallel、waterfall、eachSeries等方法的使用

简介Async是一个流程控制工具包,提供了直接而强大的异步功能。基于Javascript为Node.js设计,同时也可以直接在浏览器中使用。Async提供了大约20个函数,包括常用的 map, reduce, filter, forEach 等,异步流程控制模式包括,串行(series),并行(parallel),瀑布(waterfall)等。 文档地址:https://caolan.g...

2018-09-06 21:09:09 12983 2

转载 yarn的安装与使用

进行yarn安装之前首先应该进行node的安装node安装教程 node安装成功后就可以进行yarn的全局安装npm install -g yarn 然后就可以进行相应的操作了, npm yarn npm install yarn install npm install –save [package] yarn add [package] np...

2018-08-31 14:49:39 1335

原创 webpack4报错compilation.mainTemplate.applyPluginsWaterfall is not a function

最近在进行webpack4的学习,在进行运行的时候出现了一个问题,通过查找资料最终解决,记录一下html-webpack-plugin 版本不兼容问题 10% building modules 1/1 modules 0 active(node:15332) DeprecationWarning: Tapable.plugin is deprecated. Use new API on...

2018-08-29 21:42:27 14448 2

原创 javaScript中函数以及自执行函数详解

最近在看一些代码的时候发现一些函数的不了解的写法,随即进行了相关的了解和知识总结。函数声明function action(){//函数体}//函数调用action();函数表达式var txt=function action(){//函数体}//调用action();函数表达式和函数声明的区别变量声明和函数声明会被提前到作用域的顶端,所以通过函数声明创...

2018-08-22 21:57:26 2219

转载 package-lock.json的作用

最近在看npm相关的只是查看了一下package-lock.json相关的知识点,发现一篇好的文章分享出来参考文章 其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。引用知乎@周载南的回答 根据官方文档,这个package-lock.json 是在 npm install时候生成一份文件,用以记录当...

2018-08-21 16:45:16 432

原创 css常用功能总结

单行文本截断 div { display: inline-block; width: 100%; -ms-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }...

2018-08-20 14:38:47 449

空空如也

空空如也

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

TA关注的人

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