2016 使用seajs时如何模块化jquery
2016-03-04 16:19
423 查看
【前言】
最近接触 seajs ,遇到了下面问题:
var $ = require('jquery'); // error:$为null
【找原因】
1. 调试了一下,发现jquery的路径没有问题,但是$却是null,初步判断require()这个函数没有理解清楚。
2. 百度了一下,发现是seajs中 require() 的参数一定要是遵循cmd规范的文件, 而jquery正常都是没有模块化的。
3.回到了我们今天的重点:如何模块化jquery?
【解决过程】
1. 参照一些博客文章模块化jquery,但是还有一些问题。(文章中的seajs和jquery版本都是以前的,所以可能有些差异)
2. 尝试了很多种方法,最后成功了2种方法:模块化jquery。
3. 方法介绍:
版本:seajs.2.3.0.js; jquery-2.2.0.js
【方法一】
在jquery源码末尾中,修改成如下:
说明:1. if()中只有一个判断了
2. define()中只有一个参数,前面还有两个参数容易出错,官网例子也推荐用一个工厂函数就可以了。
【方法二】
在jquery源码外加如下代码:
【结束语】
经过测试,以上两种方法都能够在seajs中正常加载jquery,两种方法的最终目的都是为了模块化jquery,暴露出一个对象给外面调用。查看了网上很多资料,经过整理后这两种方法在当前版本可用。
ps:刚入前端,请多多指教。
参考文章:
http://blog.csdn.net/it_man/article/details/7782623 //seajs使用指南
/article/8122988.html //seajs添加jquery,其中一种实现方式
/article/1423365.html
//seajs模块编写
最近接触 seajs ,遇到了下面问题:
var $ = require('jquery'); // error:$为null
【找原因】
1. 调试了一下,发现jquery的路径没有问题,但是$却是null,初步判断require()这个函数没有理解清楚。
2. 百度了一下,发现是seajs中 require() 的参数一定要是遵循cmd规范的文件, 而jquery正常都是没有模块化的。
3.回到了我们今天的重点:如何模块化jquery?
【解决过程】
1. 参照一些博客文章模块化jquery,但是还有一些问题。(文章中的seajs和jquery版本都是以前的,所以可能有些差异)
2. 尝试了很多种方法,最后成功了2种方法:模块化jquery。
3. 方法介绍:
版本:seajs.2.3.0.js; jquery-2.2.0.js
【方法一】
在jquery源码末尾中,修改成如下:
if ( typeof define === "function") { define(function() { return jQuery; } ); }
说明:1. if()中只有一个判断了
2. define()中只有一个参数,前面还有两个参数容易出错,官网例子也推荐用一个工厂函数就可以了。
【方法二】
在jquery源码外加如下代码:
define(function(){ //jquery code // ... return $.noConflict(true); });
</pre><pre name="code" class="html">
【结束语】
经过测试,以上两种方法都能够在seajs中正常加载jquery,两种方法的最终目的都是为了模块化jquery,暴露出一个对象给外面调用。查看了网上很多资料,经过整理后这两种方法在当前版本可用。
ps:刚入前端,请多多指教。
参考文章:
http://blog.csdn.net/it_man/article/details/7782623 //seajs使用指南
/article/8122988.html //seajs添加jquery,其中一种实现方式
/article/1423365.html
//seajs模块编写
相关文章推荐
- jquery 多选下拉框
- jquery中断(取消/abort)ajax请求
- JQuery增删改查
- jquery validation plugin
- Jquery选择兄弟元素
- jquery获取标签中的值
- JQuery学习(1)
- 简单的jQuery banner图片轮播实例代码
- 开发--jquery实现前后时间判断
- Jquery对select 和option 的使用
- jquery元素插入、删除、清空
- 强大的提交框:jquery.jbox
- Jquery各Ajax函数
- zepto与jquery冲突的解决
- jquery实现右侧栏菜单选择操作
- jQuery Easing 使用方法及其图解
- jQuery-File-Upload java实现
- jquery easyui combotree取值
- jQuery、prototype、mootools、YUI框架比较
- jQuery获取页面及个元素高度、宽度