今天在弄seajs的模块化加载,想把jquery加载进来当做seajs的一个模块来使用,当var $ = require("../modules/jquery");这样直接加载jquery插件时
获取到的$总是为null,就在想是不是路径写错了,就把var $ = require("../modules/jquery");换成var $ = require("../modules/jquery1111");发现控制台报错,说
找不到jquery1111这个文件,看样子前面一种写法的路径没有错误,在谷歌上搜索了一把,最终找到解决办法,原来jquery的源码是没有模块化的,seajs想要
把他当做模块来引用,必须的先把jquery模块化,而jquery的模块化的方法如下:
直接在jquery.js中写
define(function(require,exports,module){
};
此define函数中放jquery源码,并且在jquery源码最后一句之前加上return jQuery.noConflict();这句;
也就是在jquery源码
})( window );
这句代码之前加上 return jQuery.noConflict();
保存之后再次使用var $ = require("../modules/jquery");加载,成功。