1、引用的第三方类库的路径不对。
2、没有将第三方非CMD规范的类库定义成CMD的模块
假设我们现在jQuery无法引入,首先我们要检查第一点路径是否正确,打开浏览器的控制台,在控制台输入
1
|
seajs.resolve('jquery’)
|
参数中的jQuery是你在配置中alias里面写的别名,敲回车之后你会发现控制台会输出jQuery的路径,你需要访问一下这条路径,假设这条路径有jQuery的代码,说明你的路径正确,否者你得修改你的路径,理论上路径是相对于sea.js的。
如果你的路径正确,那么你需要将第三方非CMD规范的类库定义成CMD的模块:
jQuery的定义方法:
1
2
3
4
|
define(
function
() {
//def CMD
/*jquery 自身的代码*/
return
$.noConflict();
});
//end CMD
|
jQuery插件的定义方法:
1
2
3
4
5
6
7
8
9
|
define(
function
() {
//def CMD
return
function
($) {
/*jQuery插件的自身代码*/
}
});
//end CMD
// 调用的时候使用require要将jquery的传入
var
$ = require(
'jquery'
);
require(
'jquery.XXX.js'
)($);
|
underscore.js的定义方法:
1
2
3
4
|
define(
function
() {
//def CMD
/*underscore自己的代码*/
return
_.noConflict();
});
//end CMD
|
对于自己的代码:
1
2
3
4
|
define(
function
() {
//def CMD
/*自身的代码*/
return
XXX;
});
//end CMD
|