自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信机器人客户端electron+robotjs

使用electron + robotjs 实现了一个微信自动化客户端,使用模拟点击的方式去操作微信,而不是只用web端的接口,防止被封号,同时对非程序员也很友好:https://www.novenn.com/%E5%BE%AE%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/...

2020-11-15 18:51:22 1387

原创 重新认识正则表达式(Javascript)的中括号[]

任何元字符,只要放在中括号里,就只能代表字符本身,而不再具有其作为元字符的功能,或者功能发生了改变。

2019-12-06 21:03:25 677

原创 THREE.JS之照像机(Camera)

THREE.JS之摄像机(Camera)

2019-09-16 08:59:05 1307

原创 THREE.JS之简介

THREE.JS是什么?Three.js是一个轻量级的跨平台的Javascript库,可以在浏览器上结合HTML5的canvas,SVG或者WebGL,创建和展示一下3D模型和动画。Three.js允许我们在不依赖任何浏览器插件的情况下,创建一个GPU加速的3D动画场景,这可能得益于WebGL的出现,因为WebGL的底层实现是基于OpenGL。相信读者看到这篇文章之前,已经被Three.js...

2019-09-14 16:54:52 3483

原创 nuxt 使用vuex错误:Do not mutate vuex store state outside mutation handlers.

场景项目A升级改造,需要用到另一个B项目的其中一个模块,A项目使用的是nuxt,而B项目使用的是原生vue, 合并的时候,直接将B项目对应的store文件复制到了A项目的store目录下,运行时,报错:Do not mutate vuex store state outside mutation handlers.分析我们都知道无论是vuex,redux还是mobx,都有严格模式和非严格模...

2019-09-10 15:27:26 3055

原创 对HTMLElement.offsetTop/offsetLeft影响的因素有哪些?

2019-07-25 09:02:03 1069

原创 Taro 错误 TypeError: (0 , _index.genCompid) is not a function

错误VM2679:1 TypeError: (0 , _index.genCompid) is not a function原因版本不对查看package.json 和 Taro -v 版本不一样解决保持包版本和Taro cli版本一致

2019-07-05 11:05:18 1208

原创 强烈谴责抄袭博文和无脑转载的行为

无法忍受每次搜索出来一大堆相同或者类似的结果无法忍受每天花大量时候去阅览一大堆相同的文章强烈谴责抄袭博文和无脑转载的行为强烈谴责强烈谴责强烈谴责...

2019-06-11 20:16:54 279

原创 Taro样式又不能同步 且只有一个不能同步

Taro样式又不能同步 且只有一个不能同步问题:在vscode上写代码(微信开发者工具一点都不友好),然后发现首次编译之后的一个组件,可以正常显示,手动点微信开发者工具的编译或者手动刷新之后就不能显示了,shasow-root下面是空的;一度怀疑自己写错了那里,一度想放弃Taro,一顿百度之后 找不到答案,Taro的文章少的可怜。最后我在微信开发者工具上打开了这个组件编译后得文件wxml和wx...

2019-05-20 15:44:33 323

原创 Taro 样式引用不成功

Taro 样式引用不成功问题:原来使用微信小程序原生写的, 不需要手动引入样式;再使用taro写的时候忘记了这一步,然后run dev之后不能同步样式,只有修改样式文件之后,服务检测到文件发生改动才会把修改的样式文件同步过去(不是所有样式文件),一度怀疑人生解决:taro 需要手动引入样式文件; import ‘./index.scss’...

2019-05-20 15:32:41 6112 6

原创 web调用windows桌面程序

目的:使用electron创建一个应用程序编译之后,得到如下目录,包含一个可执行文件,现在我们要通过浏览器唤起这个可执行文件 在任意位置创建一个.reg结束的文件,内容如下 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ElectronTest] @=”ElectronTestProtocol” “URL Protoc...

2018-08-28 11:43:59 2759 2

转载 验证身份证的合法性

function check(ID_ICCID){ var Errors=new Array( “OK”, “身份证号码位数不对!”, “身份证号码出生日期超出范围或含有非法字符!”, “身份证号码校验错误!”, “身份证地区非法!” );var area={11:"北京",12:"天津",13:"河北",14:..

2018-08-06 11:37:17 1098

原创 Notifications API 让web应用像桌面应用一样优雅地提示

记不得什么时候开始,登录web版的微信,当有消息的时候,新消息的通知就像系统通知一样从桌面右下角弹出来,瞬间感觉好牛逼。这几天里约好运会赛事如火如荼地举行,每天早上都习惯性的打开cctv5的奥运栏目网页,浏览一下大概信息之后就开始干活了,也没关掉那个网页。然后在我干活的过程中是不是的就给我弹出一些奥运咨询,我瞬间懵逼,难道这个web版的消息弹出不是微信的专利吗?不行,我要查查,一查我真的为我的孤陋

2018-07-16 20:46:14 332

原创 使用极光推送向apicloud应用推送消息

在app开发过程中,client和server的信息交互分两种方式-pull(拉)或者push(推)。pull方式是客户端程序定期调用服务器的接口,从服务器获取数据,称之为轮询,但是这种方式很笨拙,当程序关闭之后就不能及时获取服务端数据,比如即使聊天工具使用轮询方式的话估计就没人用了。所以出现了push的方式,当服务器产生新的消息时,主动向客户端程序推送,这种推送的方式更及时,消耗资源更少。

2018-07-16 20:45:18 7116 22

原创 将本地新建代码库上传到git远程代码库

在泵

2018-07-16 20:43:34 190

原创 vue 懒加载组件chunk相对路径混乱问题

问题描述: 在vue项目中用vue-router做路由,做代码分割和懒加载时,由于webpack配置不当,导致懒加载chunk时相对路径出现混乱导致加载chunk失败,具体如下://router.jsimport VueRouter from 'vue-router'const A = () => import('./pages/a.vue');const B = () =&gt...

2018-07-12 20:59:09 5627

原创 IE e.originalEvent.dataTransfer.setData 报错

错误1:意外地调用了方法或属性访问。 解决办法: setData(key,value)的key只能从Text或者text取一个,我不知道还有没有其他合法的字符;错误2: 参数无效。 setData(key,value) 显示的将value转换成字符串,不知道还能不能传别的,我传number的时候报错;...

2018-06-05 14:48:44 1503

原创 禁止浏览器回退的办法

history.pushState('a', null);window.addEventListener('popstate',function() { history.pushState('a', null); });

2018-05-25 08:50:52 3163

原创 在Angular组件中引入外部样式

在angular项目中,如果使用到js封装的一些插件,需要手动引入js文件和css文件,如果在应用入口页直接使用link方式引入的话,会阻塞首屏的加载,甚至会产生冗余的样式表;下面是一种在组件内引用外部样式的方法。首先介绍Angular的一个枚举类:enum ViewEncapsulation { Emulated Native None}ViewEncapsulation 的值是用来

2017-10-10 19:42:08 6159 1

原创 在Angular项目动态引入JS模块

背景由于Angular项目默认使用ts作为开发语言,但是Angular本身是一个新的框架,导致很多好用的js库都没有对应的ts版本。所以在开发angular项目的时候存在Angular项目的场景。下面以引入jquery为例,介绍两种方法:方法一直接在应用入口index.html使用script方式引入:<script src="path/jquery.js"></script>这种方法的特点: 1

2017-10-10 16:45:09 11700 8

原创 【webpack】style-loader错误

使用webpack,style-loader出现的错误:ERROR in {project}/node_modules/style-loader/lib/addStyles.jsModule not found: Error: Can't resolve './urls' in '{project}\node_modules\style-loader\lib'解决方法: 直接修改{project

2017-08-22 20:23:29 3604

原创 React Native的一些问题

1、安装react-navigation发生冲突的问题;解决方法:直接从github上安装:npm install -save https://github.com/react-community/react-navigation;2、使用sqlite: 案例3、使用远程调试器,在chrome上调试app,打断点等:

2017-04-12 14:56:09 221

原创 不用flex布局实现并排的div等宽等高布局

<html><body><style>.container{width:100%;display:table;//border-collapse:collapse; //内部div无缝隙//border-spacing:10px;//div之间缝隙为10px}.container div{border:1px solid black;display:table-cell;wid

2017-02-20 08:57:36 2379

原创 配置nginx反向代理服务器,解决浏览器跨域调用接口的限制问题

在现代开发模式中,前后端完全分离,前后端为完全不同的项目,在项目发布之后才将前后端项目合并,或者不合并,后端仅仅是一个apiserver,提供一套接口供移动端和web端调用。但是由于浏览器的安全策略的限制,ajax不能调用不同源的接口或者资源,虽然跨域的解决方案有很多种,但是最直接不需要修改代码的方法是使用nginx反向代理,其配置如下:在nginx的nginx.conf 文件的http配置块里加

2017-02-17 09:35:52 8466

转载 欢迎使用CSDN-markdown编辑器

ES6在ES5的基础上增加了类和模块等的特性,而TypeScript是JavaScript的超集,在ES6的基础上又增加了类型和注解等特性。目前为止,ES6的还没有被大部分浏览器支持,或者说目前各家的浏览器只能支持ES6的部分特性,但是为了使用es6的新特以及他的快捷的编码方式,就必须把ES6代码转化为ES5代码,我们将这种转换器叫做transplier,转换ES6到ES5代码的transplier

2016-12-21 09:21:18 269

原创 THREE.JS之几何体(Geometry)

众所周知,在3D世界里,物体都是有网格构成的,而网格的组织规则是通过几何体(Geometry)来定义。在three.js中,有两类几何体,我把它们叫做基本几何体和buffer几何体。基本几何体的顶点位置,缩放,旋转角,颜色,法线信息都是保存在特定的类里面,比如顶点位置使用Vector3,颜色信息使用Color。而buffer类的都是使用数组存储的,并且缓存在了内存缓冲区里,减低了对GPU的消耗。正是

2016-10-02 21:46:01 17153

原创 THREE.JS之文本对象

在很多应用中,不光是有图像图像对象,有时还要给场景添加必要的文字说明等等。比图说游戏中的积分,生命值等等,或者使用文本做装饰等等。在three.js中,使用TextGeometry这个类来创建文本。今天要实现的效果如下图:首先创建文件index.html<!DOCTYPE html><html> <head> <title>立体字</title> <meta

2016-09-29 10:05:28 8675 1

原创 如何理解socket.io官网上创建聊天室的demo

下面代码是socket.io 官网上使用express作为服务器框架,使用socket.io作为通讯工具搭建聊天室的demo的代码,本人通过查看express源码和socket.io源码,对该服务的创建过程有一些自己的理解,特记录下来以便日后复习,也希望能帮助到一些同学,如有不妥之处,请多多指教。var app = require('express')();var http = require('

2016-08-27 21:01:33 485

原创 Grunt插件之cssmin--ccs压缩与合并

本来想写一片比较完成的文章来介绍这个工具,但是查看github上的文档<<<传送门>>>,说明文档少的简直是可怜,姑且记下github上面的两个例子吧。前面的步骤无非是安装grunt-cli,创建grunt项目等等事件,如果有不明白的请移步Grunt插件之uglify代码js代码压缩与合并 查看,这里只讲到Gruntfile.js的配置:css文件合并module.exports = functio

2016-08-26 15:24:24 1600

原创 Grunt插件之uglify--js代码压缩与合并

平时在开发项目的时候,都是在本地测试,加载代码都是走localhost,页面刷新基本是秒出,所以没有考虑js文件的大小。最近项目上线,部署到了服务器上之后,测试的时候发现加载速度特别慢,一查看网络,发现有的js文件加载时间居然超过1s。没办法,把代码压缩看看。果然压缩好之后加载快了很多。而将代码压缩和混淆之后,也能提高网站的安全性。下面是使用grunt的uglify插件的安装和使用:前提:安装了no

2016-08-26 12:28:56 4203

原创 mongodb 数据备份和恢复

对整库备份和恢复:使用mongodump进行数据备份:>mongodump -h localhost:27017 -d test -o *./Desktop/-h 指定主机和端口号 -d 指定备份的数据库 -o 指定存储数据包的目录使用mongorestore进行数据备份:>mongorestore -h localhost:27017 -d test -dir */Desktop/test-h

2016-08-17 16:20:46 590

转载 css3的nth-child选择器的详细探讨

css3的nth-child选择器的详细探讨前言在十年前开始的div+css布局兴起之时,我就开始了CSS的学习和实践.在当年,对于CSS选择器,基本上是没有什么选择性的,只有ID选择器,CLASS选择器,以及元素选择器,当然,还包括#id p 这种子选择器.在那个蛮荒时代,各大浏览器对CSS的支持是相当那啥了.于是,我们为了实现一些效果,比如要控制列表中的最后一个元素,我们会给最后一个元素加上一个

2016-08-17 11:48:05 477

原创 mongodb 计算坐标距离

使用场景很多 ,不瞎比比了 ,直接上案例。创建数据集合location:db.location.insert({loc:[1,3]});db.location.insert({loc:[3,4]});db.location.insert({loc:[0,-3]});db.location.insert({loc:[-6,2]});db.location.insert({loc:{x:9,y:

2016-08-16 22:25:20 7376 5

原创 Grunt插件之liveReload--前端刷新神器,解放你的F5

昨天看了小胡子哥的一篇文章《工作五年,后面四年重复着第一年的活儿?》,正好是关于前端开发的,我就看了。的确感触很深,作为程序开发者,不应该是编码的机器,不能日复一日做同样的事情,小胡子哥在文章里说:重复的事情要交给机器,作为开发者,我们的任务是告诉机器怎么做就行了。所以开发越到后期,我们应该变得越懒才是好事情,这也是小胡子哥提倡的。在小胡子哥的文章里就提到了一个工具LiveReload,当时一看到这

2016-08-07 15:35:21 684

空空如也

空空如也

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

TA关注的人

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