webpack4 js构建速度优化

2019-05-10
阅读 2 分钟
3.1k
首先第一个主角 babel-loader,给babel-loader 加一个参数即可cacheDirectory: true。相关的配置还有 cacheIdentifier 和 cacheCompression,cacheIdentifier 是给 cache 配一个标识,cacheCompression 是babel-loader 默认会以 gzip 去压缩,如果你的文件量非常大可以尝试设为 false。

position: sticky 详解(防坑指南)

2016-10-16
阅读 1 分钟
36.6k
写这篇文章的原因是无论中文还是英文关于 sticky 的文章,只是说了 sticky 这个性感的 css 新特性可以拿来用,简单写一个 demo 完事,并没有详细的解析它。我希望这篇文章能帮助大家在使用 sticky 的时候更顺手。

zepto touch 库源码分析

2016-07-05
阅读 10 分钟
7.9k
所谓 zepto 的 touch 其实就是指这个文件啦,可以看到区区 165 行(包括注释)就完成了 swipe 和 tap 相关的事件实现。在正式开始分析源码之前,我们先说说 touch 相关的几个事件,因为无论是 tap 还是 swipe 都是基于他们的。

玩转 css 居中

2016-06-25
阅读 2 分钟
1.7k
/Users/alex/Desktop/24319F76-DE76-4A5A-840D-8EC7C0C43882.png例如图中的状况,需要文字相对于图片的垂直居中,通过对图片设置vertical-align: middle;即可。vertical-align 其实可以完成多种相对对其,例如 top,baseline 等等。

javascript 事件代理,原理和问题

2016-06-23
阅读 3 分钟
4.9k
有如下 html 片段 {代码...} 要对 li 添加 click 事件。通常做法: {代码...} 事件代理的做法 {代码...} 我们来对比一下两段注册点击事件的代码。第一段代码很常规,直接找到相关元素然后一一绑定。第二段代码看起来简洁一点,但多了一层判断。 做一个简单的 delegate 封装 {代码...} 接下来的篇幅主要会聊到事件流,事...

前端开发工具收集

2016-06-21
阅读 1 分钟
2.7k
sublime Emmet 前端代码补全神器 ConvertToUTF8 被 GBK 折磨过人,请装这个 HTML-CSS-JS Prettify 代码洁癖的救星 JsFormat 自动格式化 js ,我自己的配置如下(针对 es6 和 jsx 做的配置)。 {代码...} JavaScript Snippets js 的代码补全,类似输入 log 就可以补全,个人习惯。 SublimeLinter 代码风格检查工具,配合...

react 渲染 html 特殊字符的bug

2016-04-29
阅读 1 分钟
5.5k
然后在需要转换的地方调用这个方法 translateHtmlCharater(html) 生成即可,原因是 js 无法渲染 html 字符(熟悉 tpl2js 的人,应该都知道那些特殊字符 js 会以 unicode 的方式处理)。

ionic项目总结

2016-03-29
阅读 1 分钟
4.7k
考虑到即将从目前的公司离职,暂时不会使用 ionic 了。所以先写一篇总结,把目前的思路存起来,方便以后用。 ionic是什么? ionic 在我看来是一套前端独立完成 app 的解决方案。下图是一个大概的框架图(实际上 ionic 做了更多的事情) ionic的好 前端可以独立开发一个 app (需要上线的话还需要学习一些 app 开发上线的...

使用 hooks 工程化 ionic 项目

2016-02-06
阅读 1 分钟
4.7k
ionic 打包其实很简单, ionic build 一下就行了。但是当你需要切换 api 接口,支付宝、推送等插件的 appid(一般来说会分为开发环境,qa 环境,生产环境)时,会很烦并且容易出错。不知道谁说过,好的工程师就应该懒,代码能完成的事情,坚决不动手。

ionic 常用插件 tips

2016-02-06
阅读 2 分钟
5.7k
我自己查找插件的方式:首先 ngcordova,然后是 cordova 官方(cordova 官方有点坑,千万注意自己的 cordova 版本,不要找到万年不更的插件,发现老是搞不出来)。

angularjs 某个作用域监听全局变量的正确姿势

2016-02-05
阅读 1 分钟
3.2k
逻辑如图,一开始我使用了 $rootScope.$watch 的写法。因为 angularjs 在 $rootScope 上的 watch 一旦注册全局有效。而我的这个全局变量恰好是订单信息,也就是说不同的 controller 对他都是有改动的,每一次改动就会触发 $rootScope.$watch 进入别的 controller。可以类比看一下 $rootScope 上的 $broadcast 会全局出发...