-
Notifications
You must be signed in to change notification settings - Fork 18
合并模块
雨夜带刀 edited this page Sep 8, 2013
·
2 revisions
在开发阶段,模块是一个独立的 js 文件,每个文件是只会有一个模块,但是模块要部署到线上,如果不希望上线时也是一个个独立的 js 文件,就需要用到合并工具。是否需要合并模块取决于你自己的缓存和请求数的策略了。
AMD 规范的模块,在合并前有匿名模块和具名模块,并且在加载模块时需要对依赖进行分析。合并工具会在合并的时候进行依赖的分析,会按照依赖的顺序来合并文件,开发者只要在开发阶段定义好模块的依赖即可。如果是匿名模块,合并工具在合并时将会自动添加好模块名。
seed.js 提供了一个 seedCombo 的合并工具,该合并工具运行在 node.js 的环境中,配置很简单。将下面的代码保存成 build.js:
require( './seedcombo' ).seedCombo({
baseUrl : './',
uglifyUrl : '../uglify/uglify-js',
modules : [{
input : ['hello'],
output : './hello-combo.js'
}]
});
配置好后,可以直接在 cmd 中运行命令:node build,当然,前提是你必须安装了 node.js。
require 中就是 seedcombo 存放的路径。
baseUrl 是需要合并的模块的基础路径。
uglifyUrl 是压缩工具 uglify 的路径。
modules 可以传一组待合并的数据。
input 一个或一组待合并的的模块,(多个模块压缩成一个文件就是一组)。
output 输出合并后的文件路径。
seedCombo 提供了一个压缩的接口,可以在输出合并文件时选择是否使用 uglify 压缩该文件,只要配置好 uglify 的存放路径就会默认对输出文件进行压缩。uglify 的安装可以看这里。