Sea.js出现Uncaught TypeError: object is not a function的解决方法 转
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 |
posted on 2015-07-01 19:39 rainbow661314 阅读(328) 评论(0) 收藏 举报
浙公网安备 33010602011771号