今天突然心血来潮看 jQuery 的源码,发现里面有 define 函数,搜索了一下,应该就是 node,或者 require.js 提供的定义模块的方法。
我跟着 http://requirejs.org/docs/api.html#define 这个例子定义一个模块,然后想执行,发现报错 “ define is not defined ”, 无论是浏览器还是 node 环境,都提示这个函数不存在
特此求 dalao 指教,或提供相关文档资料供,赶紧不尽!
PS: jQuery 的源码如何才能跑起来,如何才能通过源码得到一份 jquery.min.js
PS:非伸手党,勿喷
1
tinytin 2017-08-17 19:21:12 +08:00
define 肯定是个全局变量 jquery 直接 npm run build (需要你提前全局安装 grunt)
|
2
Jakesoft OP @tinytin 我没理解错的话,这个 define 函数其实是用户定义的函数,而不是 js 自带的函数,对吧?
那就是有可能是 grunt 按照 AMD 规范定义并实现的。 如果是这样的话,那真是太感谢了(一直以为是哪个 js 版本的预定义函数…) |
4
harttle 2017-08-17 21:34:04 +08:00
jQuery 检测了是否存在 define,有的话就认为当前环境有 AMD 就把自己声明为 AMD 模块,否则 jQuery 就把自己挂在全局变量上。
|