柒青衿的博客

前端学习

React-实用性能优化技巧

本文的demo仓库在https://github.com/qiqingjin/blog/tree/master/React_Redux/demos,喜欢请star哟~ 你可能听过一句话,过早的优化是万恶之源。项目开始,我们当然会首先考虑功能的实现,当完成第一版功能以后,就应该尽早开始优化和重构...

2019-02-01 17:46:43

阅读数 120

评论数 0

React-如何进行组件的单元测试

什么是单元测试 一般测试分成几个类型:单元测试、集成测试、功能测试。集成测试和功能测试不赘述。单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作,这里的单元是程序工作的最小工作单位。单元测试应该仅仅依赖输入,不依赖多余的环境,如果你的单元测试依赖很多环境,那么你可能需要的是集...

2018-09-04 19:38:44

阅读数 2464

评论数 0

React-AMD标准、动态加载资源的Web APP如何做服务器端渲染

背景介绍 需要做服务器端渲染的app是:可以点击添加组件,保存以后生成一个独立的web app。就是一个生成web app的web app。因为不一定每个组件都被添加到用户创建的web app中,所以,组件的资源是动态加载的,只有选择某个组件的时候,才会去加载这个组件的资源。前端资源使用AMD标...

2018-06-24 22:48:19

阅读数 168

评论数 0

React-从源码分析React Fiber工作原理

本文的demo仓库在https://github.com/qiqingjin/blog/tree/master/React_Redux,喜欢请star哟~ 为什么要重写React React16 以前 React16 以前,对virtural dom的更新和渲染是同步的。就是...

2018-04-28 11:40:25

阅读数 4194

评论数 0

React-react16和webpack4来写一个SSR应用

本文的demo仓库在 https://github.com/qiqingjin/blog/tree/master/React_Redux/,喜欢请star哟~ 前面的话 React 16开始重视服务器端渲染,也就是SSR,不再严格对比checksum,不知道你的应用升级了么。 Web...

2018-04-24 17:47:46

阅读数 1642

评论数 0

Jenkins-服务器搭建和自动化任务执行

Jenkins是什么 Jenkins是一个广泛用于持续构建的可视化web工具。根据我目前的使用(前端),Jenkins就是一个可以自动化完成拉取远程仓库代码、编译、打包、单元测试、合并分支等等一般需要我们手工完成的工作。 Jenkins使用场景 一个仓库,由少数几个开发者做“管理员”,有向m...

2018-02-24 17:52:31

阅读数 963

评论数 0

React-UI库比较

回归博客了。说明我变得不那么忙了。最近干了件有意思的事情,根据团队需求选择一个React UI库,把结果和感受和大家分享一下。 待对比的库 国内使用React的小伙伴可能很多都用Antd,其实国外也有很多优秀的React UI库。本次选择的有: Ant Design Ant Desig...

2018-01-31 16:42:01

阅读数 16395

评论数 1

Webpack-源码四,从源码分析如何写一个loader

从黑盒和白盒两个角度讲讲如何写一个loader以及loader这个东西是如何在webpack中运作起来的。loader相当于一个翻译器,具体的loader会有很大不同,比如less-loader和ejs-loader内部代码肯定差异极大,这里只以最简单的loader举例,入坑以后大家根据自己需求自...

2017-05-19 13:41:37

阅读数 5300

评论数 6

JavaScript-读 You Dont Know JS,原型继承不是继承

这篇博客是读You Dont Know JS系列书中this & Object Prototypes这本书后总结的第三篇博客,也是最后一篇(第一篇讲this到底是什么,第二篇讲Object到底是什么)。本篇博客中涉及到原型继承的链式结构、prototype与__proto__(也就是[[p...

2017-05-10 16:25:02

阅读数 626

评论数 0

JavaScript-读 You Dont Know JS, Object到底是什么

这篇博客是读You Dont Know JS系列书中this & Object Prototypes这本书后总结的第二篇博客(第一篇讲this到底是什么)。 这篇博客讲对象,其中会涉及到一些让我们困惑已久的问题,比如:对象的数据属性和访问器属性,对象属性(property)的特性(att...

2017-05-10 11:12:05

阅读数 778

评论数 0

Webpack-源码三,从源码分析如何写一个plugin

这篇博客告诉你如何入手写一个plugin,然后分析源码相关部分告诉你你的plugin是如何工作。知其然且知其所以然。

2017-05-07 18:33:19

阅读数 8590

评论数 1

JavaScript-读 You Dont Know JS,this到底是什么

You Dont Know JS一系列书不错。这一系列博客是我读这本书以后总结的干货。这篇博客讲解为什么使用this,以及如何确定一次函数调用的this到底是哪个对象。

2017-05-05 17:21:45

阅读数 3121

评论数 0

Webpack-源码二,整体调用流程与Tapable事件流

在上一篇博客中分析了webpack打包以后的bundle文件,了解webpack是如何通过require模拟commonjs标准加载模块的。下面探索webpack整体调用的流程,也就是如何通过shell输入webpack命令就可以实现整个编译、打包过程的。 这篇博客只对整个流程及相关的事件流进...

2017-05-03 21:36:48

阅读数 3451

评论数 0

Webpack-源码一,使用require加载并打包模块

最近有同学致力于写一个脚手架工具,在研究webpack源码,问了我几个问题,然而我完全不能解答。于是开始研究webpack。 webpack做的事情主要是实现前端模块化(即:让前端也可以像node端一样适用require方法加载模块)和借助插件实现编译、热加载等功能。webpack源码系列第一部分...

2017-03-06 18:49:27

阅读数 9245

评论数 3

如何进行React组件单元测试

单元测试是定义我们构建的组件必须实现哪些功能的很好方式。它允许我们尽可能粒子化地测试我们组件的结构。我发现,单元测试使我在使用React时,写更多功能性的代码。我们将使用Karma,Jasmine和Enzyme开始React单元测试。如果只对示例代码感兴趣,请戳 https://github.co...

2016-12-21 20:14:06

阅读数 6910

评论数 0

HTML5.1 里的新东西

查看原文请戳这里HTML 5.1概览两年前HTML5标准的发布对于web开发社区来说是一件大事。不仅是因为它包含了一系列让人印象深刻的新特性, 还因为它是1999年发布的HTML4.01标准以后,对HTML的第一个大版本更新。你现在依然可以看到一些网站夸耀他们在使用“现代”的HTML5标准。幸运的...

2016-12-09 13:24:53

阅读数 1359

评论数 1

HTML5-service worker进行缓存控制

讲一下使用service worker做缓存版本控制。1. 基础生命周期installing -> activated -> fech/message需要关注的生命周期阶段以下代码以使用indexedDB为例,后面提供使用service worker自带的cache的版本 insta...

2016-12-02 18:19:21

阅读数 3884

评论数 0

HTML5-indexedDB使用总结

1. 特点IndexedDB 是一种可以让你在用户的浏览器内持久化存储数据的方法。特点如下: * 支持事务、游标、索引等数据库操作 * 一般浏览器会分配50M-250M不等的内存 * 持久化存储,清除浏览器缓存不会被删除(localStorage是会被删除的) * 支持多种数据格式:arr...

2016-12-02 16:30:05

阅读数 4071

评论数 0

HTML5-indexedDB使用常见错误总结

indexedDB使用过程中常常会出现以下错误: Failed to execute ‘createObjectStore’ on ‘IDBDatabase’: The database is not running a version change transaction. 这是由于你在su...

2016-11-21 19:56:23

阅读数 6188

评论数 0

JavaScript-前端加密(广义),防止js篡改

好久没有写博客了,不是没有在学习新东西,是最近比较忙,没有总结。 今天聊的话题是防止js篡改。javascript代码和需要编译的代码有一点不同是,网页上会直接请求js文件源码,而编译的语言运行时使用的是编译后的文件。即使这样,很多编译语言(比如java)都会做源码混淆(obfuscation)...

2016-09-16 13:53:57

阅读数 16819

评论数 2

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