Github上的jQuery是基于RequireJs的,那他是怎么编译打包成单独的jQuery.js的?


Github上的jQuery似乎是基于RequireJs的,那他是怎么编译打包成单独的jQuery.js的,是通过Grunt哪一个插件吗?

jquery 前端 web JavaScript

arc.02 10 years, 4 months ago

在使用过程中是不用去关心的;
在代码中会去判断是不是存在module.exports全局变量,如果存在,那么通过作为模块导出
否则直接全局window对象的一个属性,就像我们在浏览其中使用的那样

轻轻地发帖 answered 10 years, 4 months ago

他是开发的时候用的RequireJs,然后用grunt转出来的。记得是用的自己写的脚本做的转化,虽然jquery是用RequireJs开发的,但你可以看到,他的文件组织是用了特定的格式,所以他们写了一个脚本将这种RequireJs的格式转换原生的js,然后头尾加上UMD。

脚本就是这个 https://github.com/jquery/jquery/blob/master/build/tasks/build.js

humnie answered 10 years, 4 months ago

背着路,向前走 answered 10 years, 4 months ago

是的,这里是用grunt来做build自动化的
具体的grunt配置戳下面的链接
https://github.com/jquery/jquery/blob/master/build/tasks/build.js

你可以看下jquery的package.json中的devDependencies,直接用得requirejs,然后再build.js中调用,而不是grunt-contrib-requirejs

Arther answered 10 years, 4 months ago

Your Answer