在 Node.js 中使用 Asset Pipeline

作者:JerryXia | 发表于 , 阅读 (19)
在 Node.js 中使用 Asset PipelineThere are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton
计算机科学只有两个难题:缓存失效和变量命名。
Coding 中,这两道难题确实无处不在。难题之一缓存失效,Web 中的资源缓存涉及到服务器和浏览器两端的各种缓存机制(详情可阅读腾讯 AlloyTeam 的博客 Web 缓存机制系列)。当 Web 应用进行版本更新时,需要发布新的资源文件并更新缓存。那怎么让 Web 浏览器中原有的缓存失效,加载新的资源文件并缓存到客户端的计算机上呢?常见的两种做法是:
传统手工作业基于日期的请求字符串这两种方法都有明显的缺点,手动控制文件版本的做法通常是这样的:
<!-- version 0.0.1 --><script src="http://cdn.example.com/static/0.0.1/js/app.js"></script><!-- version 0.0.2 -...阅读全文

28 年华

作者:JerryXia | 发表于 , 阅读 (18)
28 年华清明小假,昏昏沉沉的在房间宅了几天。真的挺浪费了外面的阳光。
最近一阵子的心情和状态都很低落的样子。工作上也是马马虎虎,或许停下来休息下是个不错的选择。这样可以回家住上几天,吃爸妈做的家常饭菜,看几本书,简单自然的。
今天28了,之前的这些年,感觉挺2B的。未来可以怎样,我无法知道。但不管18还是28,都应该好好珍惜才是。
祝自己生日快乐!
Monday, Apr 6th, 2015...阅读全文

在 Bash 中解析命令行参数

作者:JerryXia | 发表于 , 阅读 (15)
在 Bash 中解析命令行参数最近的一个前端小项目是智能 Wi-Fi 音箱 Sugr Cube中的 Web 上传歌曲界面,使用了 Require.js 组织代码,文件上传部分基于 jQuery File Upload。Web page 编写完后需要使用 r.js 打包处理下,并将生成的文件上传到硬件设备里的 Nweb目录下。
项目结构|--node_modules|  |-- blueimp-file-upload-node|  |  本地文件上传服务器|  |-- requirejs|  |  requirejs optimizer (r.js)|  |-- inliner|  |  Node utility to inline images, CSS and JavaScript for a web page|--public|  静态文件(css,js,images等)|-- package.json|  npm 项目配置|-- index.htmlnpm scripts编写 npm scripts用来运行相关脚本:
{...,"scripts": {"build": "r....阅读全文

[译] 为 Node.js 包准备的 Makefile

作者:JerryXia | 发表于 , 阅读 (10)
[译] 为 Node.js 包准备的 Makefile原文链接:Makefile recipes for Node.js packages
当你编写 Node.js 代码时,在构建-测试-发布周期中肯定会有一些事情需要自动化。我使用 make 程序来完成这些任务,主要是因为它的简单明了。
要开始使用 make 你需要在项目根目录创建一个 Makefile。Makefile 包含变量和任务声明(下面会给出例子)。要执行一些任务,你只需要在命令行执行 make <task name>。简单吧!
以下是我开始一个新的 Node.js 或者 Browserify 项目的通用 Makefile 文件。我会一步一步的完成它。
首先是定义一些有用的变量:我在 src 保存源码,编译过的代码放在 lib(是的,我使用 CoffeeScript,但你可以随意使用你喜欢的语言来定制模板)。
BIN = ./node_modules/.binSRC = $(wildcard src/*.coffee)LIB = $(SRC:src/%.coffee=lib/%.js)SRC 将会包含一个 src ...阅读全文

通过 Nginx 给本地应用取个漂亮域名

作者:JerryXia | 发表于 , 阅读 (15)
通过 Nginx 给本地应用取个漂亮域名简单记录下之前看到并实践的一篇文章 Serving Apps Locally with Nginx and Pretty Domains。在 Mac OS X 上通过配置 Nginx 实现本地应用可以通过漂亮的域名来访问,比如 http://anapp.dev/。类似的解决方案有 pow- Mac OS X 上的零配置 Rake Server。
Nginx首先需要关掉 Apache 进程(Mac OS X 上默认启动 Apache 监听 80 端口):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist使用 Homebrew 安装 Nginx :
brew install nginxNginx 监听 80(或任何小于 1024 的)端口需要使用 sudo 命令,否则会启动失败。对于大于 1024 的端口,如下直接为启动脚本建立一个符号链接:
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/L...阅读全文