Zhang Visper 发布的文章

原文地址:http://www.2ality.com/2015/12/webpack-tree-shaking.html
校对:Kathy

Rich Harris 的模块打包器 Rollup 普及了 JavaScript 圈内一个重要的特性:Tree-shaking,即从模块包中排除未使用的 exports 项。Rollup 基于 ES6 模块的静态结构(引入和导出不会在运行时改变)来检测哪一个模块没有被使用。

Webpack 的 Tree-shaking 特性目前正在 beta 阶段,这篇博文解释了它是如何工作的,相关的项目代码可以在 Github 上查看:Tree-shaking Demo

- 阅读剩余部分 -

用过 CNKI 的都知道,上面的学位论文只提供 CAJ 格式的下载。这个鬼格式完全是 CNKI 自己搞出来的一套格式,相比 PDF 格式而言不仅没有什么优势,而且毫无通用性,必须要下载 CAJViewer 这个玩意儿才能阅读。作为一个致力于开源、通用应用推广的程序猿,怎么能乖乖的接受这种束缚呢?

- 阅读剩余部分 -

为什么选择前端?

这是一个在面试当中被问及频率很高的问题。虽然如此,我对这个问题也并没有深入的思考。在入行半年这个节点,我有机会能够认真的考虑一下自己究竟为什么选择了这个行当,毕竟这是一个决定了自己将来能不能在这条路上坚持下去的严肃问题。

- 阅读剩余部分 -

谈到在 CSS 中使用变量,对前端略有深入的童鞋应该都不会陌生——Less 和 Sass 等预处理器早就提供了这一功能,并且已经在生产环境中广泛应用。

坦白讲,CSS 作为一个高度制式化的计算机语言,没有引入变量不得不说是语言设计的一大败笔,因此越来越多人转而使用预处理器来书写 CSS。在各式各样的 CSS 预处理器大行其道数年之后,CSS 终于给出了原生的变量解决方案——CSS 4(草案)新增的自定义变量特性。

CSS 4 中才引入变量可谓是亡羊补牢,但在 CSS 预处理器已经几乎变得跟 CSS 一样普及的当下,变量的出现是不是为时已晚?原生的变量相比 CSS 预编译器的实现是否更加易用?又有哪些预编译器不能实现的特性?下面就一起来看。

- 阅读剩余部分 -