自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 vue项目单元测试编写-chai(四)

文章目录vue项目单元测试编写-chai开始为什么使用断言库使用基本使用断言风格BDD风格API自然语句a(String type[, String errMsg]).notequal(Any val[, String errMsg])eql(Any val[, String errMsg])above&least&below&mostwithin(Number start...

2019-06-30 17:34:29 1434

原创 vue项目单元测试编写-mocha(三)

文章目录vue项目单元测试编写-mochamocha的使用语法&API挂起测试关于测试的一些小约定测试用例的编写测试通过和失败异步测试用例done函数例子注意Promise支持describe的钩子函数使用钩子函数的异步处理异步测试的补充done方法Promise和doneasync/await延迟的根套件测试管理测试用例only注意skip动态生成测试测试耗时测试执行超时参考vue项目...

2019-06-30 17:34:16 2715 1

原创 前端vue单元测试环境搭建(二)

文章目录前端vue单元测试环境搭建开始创建带有mocha的vue项目运行测试文件目录执行测试注意完善vue-cli提供的测试配置@vue/cli-plugin-unit-mocha提供的命令配置mocha-webpack.opts集成插件/工具Sinon介绍安装@vue/test-utils为我们的测试结果提供漂亮的图表支持:mochawesomenyc/Istanbul介绍安装使用配置配合在vu...

2019-06-30 17:34:01 5259 2

原创 前端单元测试及其工具介绍(一)

文章目录前端单元测试及其工具介绍为什么需要单元测试单元测试的一些要素工具mocha介绍API钩子函数chai介绍使用mochawesomenyc/Istanbul介绍Sinonkarma定义介绍一些karma中需要了解的插件以及知识参考@vue/test-utils一些约定附录Unit Testing和E2E Testing常用的测试有vue-cli中支持参考TDD和BDD开发方式测试覆盖率Jes...

2019-06-30 17:33:04 3778 1

原创 为微信小程序增加换肤功能

起源之前,我做了一个展示类的微信小程序,本来都快要完结的了,可是突然,我才听说还要给小程序增加一个换肤功能,这个换肤功能可不是简单的写两套不同的样式表就行了,因为他要可以在后台动态替换背景,底图,文案,一些展示图,以及字体边框的颜色的替换,也就是说不能把这些写在小程序本地,这些图片和文案,字体颜色全部需要从后台获取,我听的差点当场去世。不过说归说,还是要做的,所以,想个方案呗。方案和问题...

2019-03-31 09:56:57 1710 1

原创 为微信小程序扩展自定义babel编译功能

摘要一直以来,微信小程序都自带babel编译,帮我们解决微信小程序中的api和语法差异,其实吧,微信小程序的es6支持已经是比较完善的了,我们翻看官网的es6语法支持可以发现,小程序(下文小程序都指代微信小程序)本身除了proxy以及Array.values等方法之外,其他的es6的api大多数都已经原生支持了,但我们为什么还需要babel进行js的代码编译呢?一个是官方文档所说的平台差异...

2019-03-23 18:45:05 4837 1

原创 一个vue项目总结

开始这是我在工作中开发的一个微信端的h5项目,主要功能是一个答题以及一个调用微信扫描查看一些机器设备信息,功能不多,但麻雀虽小,五脏俱全,vue中常用的技术栈都有涉及到。这篇文章主要是对此项目的一个总结以及对整个项目的开发流程做一个梳理。技术栈这个项目我是使用vue技术栈进行开发,之前我大部分的工作是开发微信小程序,vue虽然也用过,不过项目经验还是偏少,也就是写了一些demo,所以这...

2019-03-21 10:11:20 1080

原创 Vue学习(一):Vue中的选项合并策略

开端最近为了给自己充电,在腾讯课堂报了一个vue源码学习的课程,跟着课堂上的老师学习vue源码以此来增加自己对于vue的理解。这篇文章主要是记录一下自己学习vue源码时,学习到了什么,并把自己对vue源码的理解通过语音的形式给描述出来。这里并不会一字一句的解释vue中的每一句源码的意思,因为有些我自己还不解其意,但不妨碍从中学习到知识。vue版本:2.5.1源码范围:1.实例化vue...

2019-02-25 14:10:10 5641 3

原创 wxPageMixins:为微信小程序Page页面增加mixins功能

起步由于之前学习vue源码,在vue源码中学到了如何针对不同的选项参数进行合并,并且为了学以致用,所以就写了一个简单的用于合并微信小程序Page构造数参数的工具函数。因为笔者最近在做微信小程序开发的,我去找了一下,发现微信小程序中好像只有组件拥有一个叫做behaviors用于组件之间的代码复用的选项,对于小程序页面来说并没有类似的mixins这种代码复用机制,便把vue这一套参数合并机制用在微...

2019-02-25 14:09:29 1548

原创 使用css3d-engine.js编写简单的 360全景h5页面

什么是这里所说的360全景h5页面?查看下面的案例进行了解: 开发项目:http://game.flyh5.cn/resources/game/wechat/zjh/fangtuo/index.html案例1:http://cpic18ny1.energytrust.com.cn/案例2:https://open.weixin.qq.com/connect/oauth2/authoriz...

2019-02-16 16:04:16 4859 3

原创 前端异步编程系列之Generator/async/await函数(4/4)

早些时间,我学习js异步编程,然后就想着把我学习异步编程时的一些体会记录下来,所以就有了现在和之前的几篇文章,之前因为一些事耽搁了,没精力去写这最后一篇了,因为我觉得这一篇写起来可能也不是那么轻松的,不过想了许久,最终还是打算花时间补上,不过时间相隔比较久了,可能感悟也没一开始钻研时那么印象深刻了,我会尽力就这之前我学习时的笔记和测试,编写一个完整的Generator/async/await异步编...

2018-12-26 10:50:20 2259

原创 前端异步编程系列之Promise/Deferred模式(3/4)

在这篇文章中,我会介绍另外一种异步编程的解决方案:Promise/Deferred模式。这种模式最早出现于Dojo的代码中,09年被Kris Zyp抽象为一个提议草案,发布于CommonJS规范中,并抽象出Promise/A、Promise/B、Promise/D这样典型的异步Promise/Deferred模型,这使得异步操作可以以一种优雅的方式出现。他最大的特点就是可以先执行异步调用,然后延迟...

2018-12-24 10:12:35 1886 2

原创 微信小程序使用async/await函数进行异步编程

早些时候,研究了一下前端异步编程,想着使用async/await函数编写异步代码,简直爽的不要不要的,而我本身是做小程序开发的,所有自然希望能够让async/await函数在小程序中大展拳脚了,这里就简单介绍一下如何在微信小程序中使用async/await函数来编写异步代码。微信小程序本身支持es6的语法,并且可以开启Babel将es6转为es5。但是即使开启了语法编译,在你使用async函数...

2018-12-21 17:17:33 4780

原创 微信小程序的npm使用心得

研究小程序的npm没多久,也就是稍微花了点时间研究了下,并记录一下我的理解和心得,有疏漏的地方,望各位指教。首先,这里介绍的只囊括了如何使用npm,以及小程序npm基本的模块加载原理(没有太深入),并且我只测试了工具类的js的使用比如underscore,而如何发布npm包,如何使用npm中的组件,我并没有了解,望见谅。微信小程序npm构建方法第一步在你项目的根目录,打开命令行,使用n...

2018-12-21 17:16:48 17032 1

原创 如何在微信小程序中使用sass来编写wxss代码

之前抽空了解了一下sass这门css扩展语言,感觉很nice,不过由于我主要是做小程序的,所以我也花了些时间研究如何在微信小程序中使用sass来编写微信小程序的wxss。下面就介绍一下如何在微信小程序中使用sass来编写wxss代码。第一种,使用编辑器进行编译,例如webstrom目前市面上绝大多数的编辑器都提供了对sass编译的支持,你只需要做一些简单的配置即可实时监听sass文件的改动...

2018-12-21 16:28:01 18769 1

原创 通过seajs研究前端模块化-seajs学习心得

本篇文章主要是我在学习seajs过程中,模仿seajs实现过程中的一些心得和体会。我在网上通过学习视频学习前端模块化时,当时的老师正好使用seajs来讲解前端的CommonJS模块化规范并讲解了seajs的源码,教我们seajs是如何CommonJS模块化规范来实现浏览器端的js模块化,学完之后,我则根据上课时,老师给我们讲解的思路,自己尝试着按照seajs的实现CommonJS规范的方式实现了一...

2018-12-18 10:12:16 295

原创 前端异步编程系列之事件发布/订阅模式(2/4)

上一篇文章中,主要是介绍了什么是异步编程,而这从这篇文章开始,我会介绍一些异步编程的一些解决方案。目前异步编程的解决方案主要有一下几种:1.事件发布/订阅模式2.Promise/Deferred模式3.流程控制库而我们这一篇文章主要是介绍第一种,即事件发布/订阅模式,后续会介绍Promise/Deferred模式以及es6的Promise实现,至于第三种,我并不是太过于了解,所...

2018-08-12 11:03:58 2500

原创 前端异步编程系列之何为异步编程(1/4)

1.什么是同步和异步同步,也就是你在执行代码时,他会等待代码返回结果,不管这代码执行多久,只有代码返回结果了然后再代码才会继续往下执行。而异步指的是:我要执行一段代码A,我不等待他出结果,我会为他设置一个处理代码,当A出结果时,直接去调用那个处理代码去处理他,而我本身就不会再去管代码A了,代码会继续往下执行,等到A出结果了,直接让他执行之前设置好的处理代码就行了。比如,前端的请求Ajax接口就...

2018-08-12 10:32:47 2480 1

自己模仿es6的Promise行为实现的Promise

这是我学习promise异步编程时,通过es6的promise行为模仿出来的promise实现,大致和es6的promise行为一致,具体可以我的这篇关于promise的文章:https://blog.csdn.net/qq_33024515/article/details/85121067

2018-12-20

微信小程序自定义预处理命令-sass转wxss

微信小程序自定义预处理命令-sass转wxss。使用微信开发者工具的自定义预处理命令,输入此文件名,并将此文件放入小程序根目录,然后此命令会查找小程序的pages下的scss和app.scss文件,并将其编译为wxss文件。更多信息请查看我编写的文章:如何在微信小程序中使用sass来编写wxss代码

2018-12-19

模仿seajs模块化加载的自行实现练习

这是自己编写的模仿seajs模块加载的模块加载器,用于学习交流之用。大致模仿seajs的模块化加载实现。

2018-12-19

《前端异步编程系列之事件发布/订阅模式》附件:eventjs模块

这是我自己对事件订阅/发布模式的一种实现,不过只是很基础的,并且仅仅用作学习练习之用

2018-08-12

空空如也

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

TA关注的人

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