绯雨闲丸 Blog

极客: 是每一个程序员的目标

react-router + webpack 如何实现按需加载

按需加载 无论是在单页应用,还是传统的多页应用中,按需加载模块都是一个很常见的优化页面加载的手段。 按需加载可以有效的减少页面初始化时加载文件的大小,特别是在单页应用中。 react-router + webpack 实现按需加载 webpack都需要配置 commonchunk router直接加载时是这样的: import UserList from '../cont...

React自动化测试

为什么要写测试用例 软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,持续保证软件的优良品质呢? 试想,如果写一个react组件,这个组件有10个需要用户交互的功能点,开发者为保证质量,每次修改代码都需要打开浏览器,运行组件代码,执行10次不同的用户交互操作,并查看与之对应的10个功能点是否运行正常。 这种方式费时费力,还不...

babel-polyfill和babel-runtime的区别

Babel编译转码的范围 Babel默认只转换新的JavaScript语法,而不转换新的API。 例如,Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转译。 如果想使用这些新的对象和方法,则需要为当前环境提供一个polyfill ...

设置github个人网站页使用https访问

[译] Github Pages 使用Github的Github pages的功能可以免费搭建博客或者托管网页,但是访问方式默认是http的,如果我希望使用https应该如何设置呢? 使用github.io域名时的设置 进入github pages对应的仓库首界面 点击Settings,进入这个仓库的设置界面 找到Git...

eslint使用小记

eslint是什么 ESLint 是一个开源的 JavaScript 代码校验工具,最初是由 Nicholas C. Zakas 在2013年创建的。经常被用来发现问题的模式或代码,不符合特定的风格准则。 ESLint 创建的首要原因是为了让开发人员创建自己的校验规则,ESLint 的目的是让所有的规则完全可插拔。虽然ESLint将附带一些内置的规则,你可以在任何时间点动态加载规...

webpack使用小记

前言 webpack是目前前端开发必不可少的一款模块加载器兼构建工具,它能极其方便的处理各种资源的打包和使用, 让前端开发获得与后端开发几乎一致的体验。 webpack特点 webpack 是以 commonJS 的形式来书写脚本的,可以直接使用 require或者import(es6写法,配置babel支持) 的写法来引入各模块 webpa...

npmrc使用小记

为什么要使用npmrc 前端项目开发离不开安装各种npm依赖包,可以选择远程的仓库也可以选择本地的仓库,但更改仓库地址需要在安装时控制台打命令,比较麻烦, 而npmrc可以很方便地解决上面问题。 npmrc是解决问题的 npmrc的工作原理是: 当安装项目的依赖包时,会查找并读取项目根目录下的.npmrc文件的配置,自动指定仓库地址。 如何使用npmrc npmrc使用起来...

gitignore使用小记

为什么要使用gitignore 在进行项目源代码管理时,总会存在一些文件不希望加入管理,但每次在提交时手动控制是极不方便的。 而gitignore可以很方便地解决上面问题。 gitignore是如何解决问题的 gitignore的工作原理是: 当你对文件进行源代码管理时,gitignore插件会去查找当前编辑文件的目录或者其祖先目录中是否存在.gitignore配置文件。 如果...

EditorConfig使用小记

为什么要使用EditorConfig 当存在多人协作开发项目时,每个人喜好使用的IDE经常各不相同,就算相同每个人对于IDE喜好的编码风格配置(例如缩进是2个空格还是4个空格)也未必相同。 而EditorConfig可以很方便地解决上面问题。 EditorConfig是如何解决问题的 EditorConfig的工作原理是: 当你打开文件进行coding时,EditorConf...

babelrc使用小记

为什么要使用babelrc 由于es6还没有被各大浏览器非常好的兼容支持,前端项目开发不得不使用babel将es6代码转换成es5后才能正常执行,为此,必须在项目根目录下配置.babelrc文件(针对babel 6) 如何配置babelrc 该文件用来设置转码规则和插件,基本格式如下: { "presets": [], "plugins": ...