一开始将原来移动端使用的jQuery换成zepto时会发现很多方法都是undefined,查看zepto的文档可知我们直接下载的zepto只包含几个核心模块,下图说明了zepto总共有哪些模块以及哪些模块是默认就有的:
由上图可知,默认模块分别是zepto、event、ajax、form、ie,但是根据模块说明发现其实很多模块在平常的开发中也是必备的,比如使用animate动画就得包含fx模块,使用fadeIn或fadeOut以及show和hide等就得包含fx_methods,data模块用来使用data()方法获取数据,根据个人的开发需要,我觉得fx、fx_methods、detect、assets、data、selector、touch都是我需要的模块,好,下面就介绍使用node编译zepto。
首先默认已经安装了node,从github上下载zepto的源码压缩包,解压缩后打开文件夹中的make文件,找到这样的一行:
modules = (env['MODULES'] || 'zepto event ajax form ie').split(' ')
大概在41行左右,是用来设置编译哪些模块的,从中我们可以看到五个默认模块,我们将自己需要的其它模块添加到这后面,然后保存文件
modules = (env['MODULES'] || 'zepto event ajax form ie fx detect fx_methods data touch assets selector').split(' ')
在windows的cmd下进入zepto的源码目录,分别执行:
npm install
npm run-srcipt dist
然后可以发现在当前目录下生成了dist目录,dist目录中生成了最终的zepto包