谈谈如何组织线上的静态资源
本文来自我在知乎 前端打包如何在减少请求数与利用并行下载之间找到最优解? 下的回答。 这可以是一个脑洞很大的问题,优化到极限是所有程序员的理想,但我觉得并不现实,也无必要。 我经历过的一些方案点评网:那是2013年,点评网的前端技术还算是比较前沿的。我们有异步的模块加载器 kaelzhang/neuron · GitHub,有私有的包管理方案 Cortex · GitHub。我们几位技术的理想主义者,Kael、+1、 小马哥我们多次开会
本文来自我在知乎 前端打包如何在减少请求数与利用并行下载之间找到最优解? 下的回答。 这可以是一个脑洞很大的问题,优化到极限是所有程序员的理想,但我觉得并不现实,也无必要。 我经历过的一些方案点评网:那是2013年,点评网的前端技术还算是比较前沿的。我们有异步的模块加载器 kaelzhang/neuron · GitHub,有私有的包管理方案 Cortex · GitHub。我们几位技术的理想主义者,Kael、+1、 小马哥我们多次开会
我说有种静态资源叫做:static zombie——引用的地方添文件名加了时间戳或者 MD5,源码中又找不到这类文件,但测试或者生产环境上又有这个文件,不过是经过压缩的,一般这类文件时间都比较久远。深深地刺痛着我。 前两天发了这条微博,目的就是吐槽一下我司静态文件管理的混乱(历史原因就是很多 Web 项目之前不是由前端负责的)。造了个词 Static Zombie。在重构这些项目的时候,我发现源码中很多地方的源码就像下面这样: 1&
可以到这里复制,存储为 xml 格式。 通常会碰到下面两个问题: 我不知道目前在流行些什么新技术,也不知道从哪里获取? 你们《专栏》的文章都是从哪里找的? 我的回答就是我一直在维护一个自己 RSS 列表,订阅了国内外一些有意思的前端(包括 Node.js)相关的列表。 大概是六年前我就开始使用 Google Reader (记得还是受到女友的启蒙)订阅一些相关的资讯,后来慢慢集中到技术上来。毕业后开始从事专业的前端工作,业余时间
本文的源码和 DEMO 都可以点击链接找到。 在5月30号 Teambition 组织的 React 的分享会中,我分享了如何对 React 组件进行单元测试,本文将做一些介绍和记录,以飨读者。 单元测试的重要性 此处省略十万字。 模块范式和测试方案React 的开发并不脱离前端的开发范式。下表总结了 React 开发各个环节的一些可选方案。 Code Runtime Unit
在上一篇中,我们使用 Callback 的方式来实现了我们需求,将一个 IP 列表转换成了具体的城市和天气。可以看出回调嵌套并不是 Callback 作为异步处理方案的真真问题。那正真的问题是什么呢? 可靠性上篇文章发出来,就被 @朴灵 吐槽,我还浑然不知。看上一篇文章中的这段代码: try { data = JSON.parse(data) callback(null, data) } catch (error) { ca
Node.js 基于 JavaScript 引擎 v8,是单线程的。Node.js 采用了与通常 Web 上的 JavaScript 异步编程的方式来处理会造成阻塞的I/O操作。在 Node.js 中读取文件、访问数据库、网络请求等等都有可能是异步的。对于 Node.js 新人或者从其他语言背景迁移到 Node.js 上的开发者来说,异步编程是比较痛苦的一部分。本章将由浅入深为大家讲解 Node.js 异步编程的方方面面。从最基础的
在模块化方面,Node.js就显得游刃有余。 作为用户,我们把代码放到一个个JavaScript文件中,然后Node.js就有一套规则帮我们把这些代码组织起来,Node.js还有包的概念,于是我们就可以使用npm将代码放到一个个包中,放到这里那里的node_modules中使用。很方便不是?感谢Node.js。 可在浏览器端,模块化这事就没那么简单了。 前端的模块前端的一个模块包含很多东西,JavaScript、CSS、图片字体等等。甚
CoffeeScript越来越流行,接触CoffeeScript也已经一年有余,最近正在看它的编译器实现,在这里把体会记录下来。 目前,CoffeeScript编译器是使用CoffeeScript编写的,很多人会问,这是蛋生鸡呢,还是鸡生蛋?其实CoffeeScript编译器最初是使用Ruby编写的,CoffeeScript团队于2010年2月21号发布了v0.5.0,使用CoffeeScript重写了编译器。 CoffeeScript
今天D2,豆瓣的石岩给我们带来豆瓣阅读在开发方面的心得,有一张PPT还用到了上周我在豆瓣阅读上架的一本书《CoffeeScript小书》。其实就是本博之前翻译的the-little-book-on-coffeescript的中文合集。 豆瓣阅读的体验真的很不错,这是本书在豆瓣阅读Web版上的一张预览图: 在其他平台上,比如说Android,iPad,Kindle Fire上体验也很好。大家可以访问《CoffeeScript小书》试读,
可选择样式表这个问题,有点绕,之前看懂了,后来忘记,现在就把它记下来。 这个问题与样式表的rel和title属性的值和组合有关: 1.默认样式表,指定rel属性为stylesheet,会在页面上一直存在的样式,不受用户选择其他可选择样式表的影响: <link href=”default.css” rel=”stylesheet” type=”text/css”> 2.可选择默认样式表,指定rel属性为stylesheet,指