这几天刚使用了RequireJS 异步模块定义(AMD), 会产生很多模块JS文件,在发布到生产环境中时需要对这些JS进行合并和压缩,这里采用 Requirejs Optimizer 工具,
具体使用步骤如下:
1. 下载 nodejs 安装程序,地址: http://www.nodejs.org/download/ ,打开后如下图:
这里下载的是 Windows Binary(.exe) 64-bit 文件。
2. 下载完成后,将node.exe 放到目录 :C:\Program Files\NodeJS 中,NodeJS可以手动创建.
3. 配置系统环境变量 PATH 中添加 ;C:\Program Files\NodeJS , 新建 NODE_PATH , C:\Program Files\NodeJS 即可。
4. 下载 r.js 文件. (必须的)
5. 准备build.js文件,该文件是配置文件,r.js压缩有两种方式,一种是命令行,一种是配置文件,这里只说明配置文件build.js,内容如下:
({
appDir: "./",
baseUrl: "JS", --js文件的跟目录
dir: "JSbuild", --合并压缩后的输出目录,会把项目所有文件都输出到这里
removeCombined:true, --删除输出目录之前的合并文件
paths: {
'jquery':'Scripts/jquery-1.9.1.min' --定义jquery文件模块
},
modules: [{
name: 'main', --这里写明要压缩的js文件,该文件中依赖的其他js文件会自动关联进来
exclude:['jquery'] --main.js中用到了jquery文件,但是不想压缩jquery的话,采用该exclude属性来排除
}]
})
6. 将r.js和build.js文件放置到项目根目录(这个目录可以变化,变化了对应的build.js中 dir , baseUrl等相应变化),
7. 打开命令行工具,cd进入项目根目录,输入命令 node r.js -o build.js 回车即可.
运行之后没有报错的话会在项目根目录生成 JSbuild 目录,该目录中包含了项目所有目录结构,但JS目录中只剩下了main.js文件,其余依赖的文件都合并到了main.js文件中,Script中的jquery文件仍然存在(在build.js配置文件中故意排除掉了).
这时,再访问页面就会只下载main.js文件、require.js文件、jquery文件了.
运行时可以使用批处理文件,避免每次都在命令行中执行,
@echo off
echo build...
e:
cd E:\\test\RequireJS\RequireJsTest\RequireJsTest
node r.js -o build.js
echo Press any key to exit!
echo. & pause