解决sea.js引用jQuery提示$ is not a function的问题
2016-09-08 11:54
567 查看
在使用sea.js的如下写法引用jQuery文件时,
会报错,提示$ is not a function;
原因在于jQuery是默认支持AMD规范的,而sea.js是遵循CMD规范进行加载;这两种规范对外提供模块时的定义方法不一样:
jQuery对外提供模块时默认支持的是AMD规范,其写法为:
因此,如果想让jQuery支持CMD规范,则将以上代码修改为如下代码即可:
其区别就在于define方法支持规范的判断,以及参数类型的不同。
//main.js define(function(require,exports,module){ var $ = require('jquery-3.1.0.min'); $('#name').html('helloworld'); })
会报错,提示$ is not a function;
原因在于jQuery是默认支持AMD规范的,而sea.js是遵循CMD规范进行加载;这两种规范对外提供模块时的定义方法不一样:
// CMD define(function(require, exports, module) { var a = require('./a') a.doSomething() // 此处略去 100 行 var b = require('./b') // 依赖可以就近书写 b.doSomething() // ... }) // AMD 默认推荐的是 define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好 a.doSomething() // 此处略去 100 行 b.doSomething() // ... })
jQuery对外提供模块时默认支持的是AMD规范,其写法为:
if ( typeof define === "function" && define.amd ) { define( "jquery", [], function() { return jQuery; } ); }
因此,如果想让jQuery支持CMD规范,则将以上代码修改为如下代码即可:
if ( typeof define === "function") { define(function(require,exports,module){ return jQuery; }); }
其区别就在于define方法支持规范的判断,以及参数类型的不同。
相关文章推荐
- 解决Zepto.js不支持animate报错的问题,错误信息$(...).animate is not a function
- Sea.js出现Uncaught TypeError: object is not a function的解决方法
- Web_JavaScript_JS表单无法重置、form.reset is not a function问题解决;
- seajs加载jquery时提示$ is not a function该怎么解决
- seajs加载jquery时提示$ is not a function该怎么解决
- ajaxfileupload.js上传文件时jQuery.handleError is not a function的 解决办法
- JQuery提示$(...).on is not a function解决方法
- seajs加载jquery时提示$ is not a function该怎么解决
- 解决jquery submit()提交表单提示:f[s] is not a function
- 解决jquery submit()提交表单提示:f[s] is not a function
- chrome浏览器Uncaught TypeError: object is not a function问题解决
- jQuery.form Ajax无刷新上传报错 (jQuery.handleError is not a function) 解决办法
- 解决使用jquery上传图片并实现回显失败,提示ReferenceError: $ is not defined
- AJAX问题:jQuery.handleError is not a function
- html在chrome浏览器中调试报错: object is not a function问题解决
- Error: [ng:areq] Argument controller Name is not a function, got undefined angular js报错问题解决
- ajaxfileupload.js结合低版本jquery报异常:TypeError: jQuery.handleError is not a function
- 解决GitLab提交MergeRequest时,提示502 GitLab is not responding.的问题
- 关于chrome浏览器下使用js读取本地json文件时提示“Origin null is not allowed by Access-Control-Allow-Origin”问题
- jquery.form.js关于$("form").ajaxSubmit is not a function原因 .