提供了对grunt requirejs 以及require js 的打包及依赖测试示例
- fork项目到本地
- 有node,git环境,进入到当前项目,git中执行命令
npm install
- 再执行
grunt
即可 - 对比打包前的
dev
和打包后的build
目录文件差别
该项目使用了极其简单的示例,来说明如何使用grunt-contrib-requirejs
进行对require
js的依赖模块进行打包。并且进行了测试。
测试主要是针对js
文件,css
文件,分为在单独文件内的重复依赖测试,在文件引用文件(嵌套依赖)的依赖测试。
1.单文件的依赖测试
比如:模块d.js
依赖于a.js
,模块b.js
,e.js
依赖于b.js
,c.js
,de.js
启动文件依赖于d.js
,e.js
。那么,调用了de.js
会不会导致b.js
的重复请求和重复合并呢?
测试表明打包正确。
同样,对于css而言,使用@import
依赖,单文件打包后,合并文件不重复。
2.多文件的依赖检测
多文件依赖检测是指,多个不同的js或者css文件,都依赖引入了某个共同的文件,那么,打包后,合并的文件中,会不会智能检测,只合并一次共同的文件?
结论是:rquirejs会直重复合并。所以,这个问题,需要人工肉眼排查了。
require
的配置在js文件夹下的requirejs-config.js
中,用来正确导入依赖的模块。但是该配置与grunt-contrib-requirejs
打包无关(用r.js
也是一个道理,打包配置需要重定义)。
那么打包的配置在哪里呢?
打包需要重新定义,请参考官方r.js
的配置。
使用grunt
任务工具时,可以使用grunt-contrib-requirejs
进行配置并打包。无需再使用r.js
。配置可以参考项目示例。
详细参考官方文档。
见本人博客分享: