自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vitest踩坑记:奇奇怪怪问题汇总

vite,vitest,webpack,单元测试,jsdom,window

2023-02-28 17:42:21 2154

原创 iphone X中react-router单页面如何有效配置微信 解决iOS中invalid signature问题 the permission value is offline verifying

iOS中,在某个页面内调用微信JSSDK相关API,如扫码、分享等,使用当前页面URL总会出现签名错误(invalid signature),导致API调用失败。在JSSDK文档页面有这么一句话:所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在And

2020-06-01 10:14:44 1102

原创 windows下electron开发应用如何获取管理员权限,通过修改注册表获取管理员权限

通过插件rage-edit修改注册表,从而获取管理员权限const {Registry} = require('rage-edit')const {app } = require('electron')module.exports = (cbSus,cbErr)=>{ Registry.set( 'HKCU\\Software\\Microsoft\\Windows NT\\C...

2019-01-04 15:57:28 4191 2

原创 electron如何设置开机自动启动应用,修改注册表开机自启APP

通过修改注册表可以实现electron开机自启。引入,rage-edit插件依赖,文档,可以自己查看;封装函数:const {Registry} = require('rage-edit')const path = require('path')const {app} = require('electron)function setAppStart(cbSus,cbErr){ R...

2019-01-04 15:34:18 5991

原创 electron如何调用其他应用作为子进程?

electron开发桌面端应用,多人合作时候,H5端或许会需要调用C++程序作为子进程,如何实现?主程中,通过node官方模块child_process即可完成:主程main.jsconst {spawn} = require('child_process)const {ipcMain} = require('electron')ipcMain.on('app-child',(e,a...

2019-01-04 15:18:52 11753 3

原创 electron中,如何自动读取文件并通过File对象上传

electron写应用时,会遇到自动上传的需求。但是H5中只能通过input(type=file)来手动上传,JS又没有读取文件的权限,此时,我们可以借助node模块完成需求。1. node读取文件流fs模块读取本地文件,在主、进程通信时候,将要读取的文件路径filePath传给node。主程main.jsfs.readFile(filePath,(err,data)=>{ i...

2019-01-04 15:05:57 14883 7

转载 js打开新窗口并且不被拦截

js打开新窗口并且不被拦截window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,那么如何避免呢。注意,只有直接使用js调用 window.open(url); 打开新窗口时,才会被拦截,如果是改变原理额窗口:window.open(url,‘_self‘); 则不会...

2018-10-16 19:55:41 3874 1

转载 Nginx在windows上安装 及 Nginx的配置及优化

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站 点(俄文:Рамблер)开发 的.  它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。...

2018-08-20 21:36:40 1792

原创 css---前端开发中,如何使盒子水平垂直居中?

1、使用margin负值 css部分.box{ position:relative; width:600px; height:400px;}.item{ height:100px; width:100px; position:absolute; top:50%; left:50%; margin-left:-50px; margin-top:-50px;}htm...

2018-07-06 16:31:28 1704

转载 js---通过代码刷新当前页面,location.reload与location.replace方法,如何刷新页面并减少历史长度?

1,reload 方法,该方法强迫浏览器刷新当前页面。location.reload(force)如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。如...

2018-07-06 14:14:46 8723

转载 js---JavaScript中的浅拷贝与深拷贝

在 JS 中有一些基本类型像是Number、String、Boolean,而对象就是像这样的东西{ name: ‘Larry’, skill: ‘Node.js’ },对象跟基本类型最大的不同就在于他们的传值方式。基本类型是按值传递,像是这样:在修改a时并不会改到bvar a = 25;var b = a;b = 18;console.log(a);//25console.lo...

2018-07-06 14:01:17 322

原创 iOS下,H5地址从webview分享到QQ,微信打不开自动拼接appinstall=0地址,问题解决方法

iOS系统中,从APP里webview分享H5地址,浏览器里面可以打开,但是QQ里404,安卓一切正常,抓包之后发现地址后面被拼接了一个参数appinstall=0,并且拼接到index.html后面导致404。搜索之后明白这个参数是QQ用于判断是否安装了自己的软件,至于,怎么取消,没有找到解决办法,只有从URL上着手当分享地址为/index.html时候,加上?解决index.htm...

2018-07-04 18:09:10 2187

转载 ES6---理解 JavaScript 的 async/await

随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中。C# 的 async/await 需要在 .NET Framework 4.5 以上的版本中使用,因此我还很悲伤了一阵——为了要兼容 XP 系统,我们开发的软件不能使用高于 4.0 版本的 .NET Fr...

2018-06-14 20:42:33 654

转载 git---Git中merge、stash、reset进行版本控制、回退以及暂存修改

取消某次合并git merge --abort #如果Git版本 >= 1.7.4git reset --merge #如果Git版本 >= 1.6.1Note: 在合并之前要保证没有未提交的文件,如果有未提交的文件但现在又不想提交,用stash命令暂存。暂存命令stash使用git stash #将本地修改暂时存储起来git stash list #查看暂...

2018-06-13 21:42:18 958

原创 vue---vuex中modules中action如何调用state、兄弟模块state、根state,以及调用相关action、mutation,getters?

vuex中modules可以将项目state进行分块,互补干扰。那么在单个module中,action如何调用其他module中action或者根action/mutation/state?打印action参数:const actions={ editName(options,payload){ console.log(options) }}运行editName方法...

2018-06-13 21:36:26 38161 3

原创 react-native---rn中如何让组件居中定位,loading如何向H5中fixed绝对居中定位

rn中没有fixed定位,更没有100%宽高; 我们可以Dimensions以及flex布局进行居中设置。。。//1. 把要居中定位的组件用view包起来(下面的样式便是针对外层view所写);//2. 使用时候,将整个组件放在所有使用页面根组件下;//如:水平居中:width:Dimensions.get('window').width, //窗口宽度justifyC...

2018-04-19 21:56:44 12037 1

转载 angular---angularJs1.x中select如何遍历渲染option,数组与对象、索引使用以及动态异步渲染option项

1、ng-options指令用途:在表达式中使用数组或对象来自动生成一个select中的option列表。ng-options与ng-repeat很相似,很多时候可以用ng-repeat来代替ng-options。但是ng-options提供了一些好处,例如减少内存提高速度,以及提供选择框的选项来让用户选择。当select中一个选项被选择,该选项将会使用ng-model自动绑定到对应数据上。如...

2018-04-14 14:40:06 2663

转载 ES6---new Promise()讲解,Promise对象是用来干嘛的?

ES6 Promise 先拉出来遛遛复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。 这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法...

2018-03-08 21:34:38 68394 7

原创 react-native---rn中的修饰组件(TouchableHightlight、TouchableOpacity、TouchableNativeFeedback等)

react-native中View组件这是单纯的视图容器,并不能响应交互变化,绑定事件,rn提供了TouchableOpacity等封装组件以正确响应触摸操作。TouchableWithoutFeedback:单纯的用户点击触摸响应组件,不会改变视图UI,仅绑定press、longPress等事件;TouchableOpacity:响应用户触摸操作,继承TouchableWithoutFe

2018-01-25 23:17:46 3905 1

转载 react-native---rn中的滑动视图组件(ScrollView)

ScrollView组件介绍与简单使用React Native中的 ScrollView 的组件除了包装滚动平台,还集成了触摸锁定的 响应者 系统,使用的时候有几点需要注意//ScrollView 必须有一个确定的高度才能正常工作,对于 ScrollView 来说,它就是将一些不确定高度的子组件装进确定高度的容器//初始化的2中方式1. 给 ScrollView 中加 [

2018-01-22 22:41:41 15215

转载 react-native---rn中的组件(TextInput)

TextInput 文本输入框React Native中的文本输入框使用和iOS比较相近,可能是因为 RN 首先封装iOS端的缘故(这点对iOS开发者来说是个好消息)TextInput也是继承自 View,所以 View 的属性 TextInput 也能使用,一些样式类的属性可以参照 View 的相关属性为了更好的讲解 TextInput,先创建一个基本的文本输入框// 视图

2018-01-22 21:44:36 1429

原创 react-native---rn中样色属性总结

布局类(flex)具体可参考justifyContent//主轴上对齐方式alignItems//副轴上对齐方式flexDirection//flex布局方向flexWrap//flex换行设置flexGrow//(子元素)放大权重flexShrink//(子元素)缩小权重flexBasis//(子元素)主轴空间配置flex//(子元素)上三者缩写alignSelf//(子元素)单

2018-01-22 20:43:22 3598

原创 react-native---react-native run-android启动时候报错"JS server not recognized, continuing with build..."

启动react-native run-android命令进行调试时候,可能会遇到服务找不到的报错:JS server not recognized, continuing with build..此时模拟器上是经典的红色报错。。。解决方法寻找端口netstat -aon|findstr "8081"记下ID,如6356 8081端口占用进程

2018-01-17 11:42:31 4193

原创 react-native---rn中的列表组件(FlatList)

react-native使用FlatList组件进行列表渲染,并使用data+renderItem对列表中单元组件进行配置,相当于HTML中ul/ol+li。FlatList功能: - 完全跨平台。 - 支持水平布局模式。 - 行组件显示或隐藏时可配置回调事件。 - 支持单独的头部组件、尾部组件、分割线组件以及空数据默认组件。 - 支持下拉刷新、上拉加载。 - 支持跳

2018-01-04 21:44:15 5918

转载 vue---vue2.x中如何异步加载路由组件,webpack+vue实现组件懒加载

一、 什么是懒加载 懒加载也叫延迟加载,即在需要的时候进行加载,随用随载。二、为什么需要懒加载 在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时三、如何与webpack配合实现组件懒加载  1、在

2017-12-25 21:08:26 6461

转载 git---使用git命令删除本地分支、远程分支、拉取其他分支的远程分支代码、创建查看本地远程分支

1、创建本地分支 local_branch git branch local_branch2、创建本地分支local_branch 并切换到local_branch分支git checkout -b local_branch3、切换到分支local_branchgit checkout local_branch4、推送本地分支local_branch到远程分支 remote_branch并建立关

2017-12-24 22:21:37 1008

原创 react-native---配置reactnative报红,run-Android时候报错unable to load script from assets 'index.android.bundl

配置react-native环境时候报错:unable to load script from assets 'index.android.bundle'.Make sure your bundle ispackged correctly or you are running a packger server.如图:百度了很久,好像没有多少真正对症的方法。去stackoverflow看了很多帖子,也

2017-12-24 22:02:02 5700 1

转载 vue---使用vue编写插件,基于vue2.x编写常用toast loading插件,一键复用组件

一直都觉得vue的插件生涩难懂,但是又很好奇,在看了几篇文章,试着写了写之后觉得也没那么难,这篇文就是总结一下这个过程,加深记忆,也可以帮助后来的人。why在学习之前,先问问自己,为什么要编写vue的插件。在一个项目中,尤其是大型项目,有很多部分需要复用,比如加载的loading动画,弹出框。如果一个一个的引用也稍显麻烦,而且在一个vue文件中引用的组件多了,会显得代码臃肿,所以才有了封装vue插件

2017-12-23 17:55:54 2527

原创 react---react router4.0路由中如何异步动态加载组件,webpack使用require.ensure()生成异步chunk

1、bundle.jsimport {Component} from 'react';export default class Bundle extends Component { constructor(props) { super(props); this.state = { mod: null }; } load = prop

2017-11-15 21:58:54 3232

转载 js---js中的继承方法call、bind、apply,以及三者之间的区别总结。

why?call,apply,bind干什么的?为什么要学这个?一般用来指定this的环境,在没有学之前,通常会有这些问题。var a = { user:"追梦子", fn:function(){ console.log(this.user); }}var b = a.fn;b(); //undefined我们是想打印对象a里面的user却打印出来und

2017-11-15 21:41:25 725

转载 js---js中数组遍历方法forEach与map()有什么区别?

JS原生forEach与map1 . 共同点//1.都是循环遍历数组中的每一项。//2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。//3.匿名函数中的this都是指Window。//4.只能遍历数组2 . forEach()//1 没有返回值arr.forEach((item,index,arra

2017-11-15 21:28:03 9276

原创 vue---vue2.x自定义plugin,给vue添加全局方法,原型上增加全局方法

1. 自定义plugin.jsexport default{ install(Vue,options); { Vue.prototype.toStringTwo=(str)=>( ('0000'+String(str)).slice(-2) ) }}2.入口jsimport Vue from 'vue';import MyPlugin fr

2017-11-15 21:08:20 5270

原创 js---Date.parse()转化日期为时间戳,ios与Android兼容写法

把固定格式日期转化为时间戳://格式化当地日期new Date('2017-11-11 0:0:0')//结果为:Sat Nov 11 2017 00:00:00 GMT+0800 (中国标准时间)//日期转化为当地时间戳Date.parse(new Date('2017-11-11 0:0:0'))//结果为:1510329600000//当时在低版本ios系统下不能解析转化兼容写法:/

2017-11-15 20:59:56 7707

转载 js---JavaScript中的事件委托/事件代理,如何通过事件委托进行异步DOM事件监听

起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,

2017-10-12 23:12:13 637 1

转载 js---原生JS数组arr遍历方法forEach()和map()遍历的区别以及兼容写法

一、原生JS forEach()和map()遍历共同点:1.都是循环遍历数组中的每一项。2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。3.匿名函数中的this都是指Window。4.只能遍历数组。1.forEach() 没有返回值。arr[].forEach(function(value,

2017-10-12 23:00:50 2166

原创 vue---vue2.x中父组件如何触发子组件事件方法?

1. 父组件中获取子组件方法$children<template> <div> <v-header></v-header> <v-content></v-content> <v-footer></v-footer> </div></template><script> import vHeader from './Head

2017-09-29 23:43:36 12725 2

原创 如何给电脑EXE软件自定义快捷键启动?

1. 找出应用的快捷方式(或新建快捷方式) 2. 右键属性设置快捷键3. 确定之后,快捷键启动即可(注意避免快捷键冲突)

2017-09-24 18:05:19 4877

转载 CSS---前端通过 css如何实现overflow:auto滚动超出部分的同时隐藏滚动条?

动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动?使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚动的特性。 由于只需要兼容移动浏览器(Chrome 和 Safari),于是想到了自定义滚动条的伪对象选择器::-webkit-scrollbar。应用如下 CSS 可以隐藏滚动条:.element::-webkit-scrollbar {d

2017-09-24 17:24:00 10680

原创 vue---报错Error:ENOENT:no such file or directory,[email protected]\**\css-beautify.js

vue—使用vue-cli/webpack构建项目cnpm install安装依赖时候报错:Error:ENOENT:no such file or directory,[email protected]\**\css-beautify.js;cannot find module 'opn'/async-each/anymatch等等如图: 网上并没有多少相关解决方案,通过搜索

2017-09-18 23:54:54 8844

转载 vue---Vue2.x中的Render函数,render核心函数createElement()

Render函数是Vue2.x版本新增的一个函数;使用虚拟dom来渲染节点提升性能,因为它是基于JavaScript计算。通过使用createElement(h)来创建dom节点。createElement是render的核心方法。其Vue编译的时候会把template里面的节点解析成虚拟dom;什么是虚拟dom?虚拟dom不同于真正的dom,它是一个JavaScript对象。当状态发生变化的时候

2017-09-08 15:03:38 13282 1

空空如也

空空如也

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

TA关注的人

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