导航:首页 > 编程语言 > seajs集成jquery

seajs集成jquery

发布时间:2021-12-09 12:22:15

Ⅰ 使用seajs后,jquery的扩展怎么办

将js插件cmd模块化(define封装成seajs模块,返回匿名函数,包含插件的源码)。专

Ⅱ sea.js如何模块化jquery.js

|

....我服了你了,玉伯那个seajs上面又讨论区的,就是他的github地址


另外说下,你的jquery根本没引用到啊内

//jquery模块jquery.js
define(function(require,exports,mole){
/*!jQueryv1.11.3|(c)2005,2015jQueryFoundation,Inc.|jquery.org/license*/
[省略容,这里全是jqueryv1.11.3的代码,代码完成后接下一句]
return$.noConflict(true);
});

这样试试

Ⅲ seajs怎么调用jquery的插件

方法一,将js插件cmd模块化(define封装成seajs模块,返回匿名函数,包含插件的源码)。
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:24
* To change this template use File | Settings | File Templates.
*/

define(function(require,exports,moudles){
return function(jquery){
(function($) {
$.fn.pri= function() {
alert($("a").attr("href"))
// 代码区域。
};
})(jquery);
}

})
jquery库在总js文件(调用该插件的文件)中加载。通过require("t1/jquery_pligun")()来传递jquery变量(参数) ,保证了jquery在调用js插件模块之前加载
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:40
* To change this template use File | Settings | File Templates.
*/
define(function (require, exports, moudles) {
var $=require("jquery")
require("t1/jquery_pligun")($)
$(document).ready(function () {
$("a").pri()
})

})
补充:SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高JavaScript代码的可读性和清晰度,解决目前JavaScript编程中普遍存在的依赖关系混乱和代码纠缠等问题,方便代码的编写和维护。

Ⅳ seajs,requirejs,reactjs,jquery是框架吗

如下模块通过SeaJS/RequireJS来加载, 执行结果;
define(function(require, exports, mole) {
console.log('require mole: main');
var mod1 = require('./mod1');
mod1.hello();
var mod2 = require('./mod2');
mod2.hello();
return {
hello: function() {
console.log('hello main');
}
};
});

Ⅳ jquery.1.12.3怎样cmd,让seajs模块化加载呢

直接require引入就可以了。

//别名
alias:{
'jquery':'路径xxx/jquery.1.12.3.min'
},
//需要预加载的js
preload:['jquery']

在seajs的config中增加这个。

Ⅵ seajs加载jquery时提示$is not a function该怎么解决

将js插件cmd模块化(define封装成seajs模块,返回匿名函数,包含插件的源码)。
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:24
* To change this template use File | Settings | File Templates.
*/

define(function(require,exports,moudles){
return function(jquery){
(function($) {
$.fn.pri= function() {
alert($("a").attr("href"))
// 代码区域。
};
})(jquery);
}

})
jquery库在总js文件(调用该插件的文件)中加载。通过require("t1/jquery_pligun")()来传递jquery变量(参数) ,保证了jquery在调用js插件模块之前加载
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:40
* To change this template use File | Settings | File Templates.
*/
define(function (require, exports, moudles) {
var $=require("jquery")
require("t1/jquery_pligun")($)
$(document).ready(function () {
$("a").pri()
})

})

充:SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与
jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要
目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代
码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高JavaScript代码的可读性和清晰度,解决目前
JavaScript编程中普遍存在的依赖关系混乱和代码纠缠等问题,方便代码的编写和维护。

Ⅶ seaJS怎么根据IE判断使用jquery版本

jQuery插件本质上是将命名空间挂在全局的jQuery或jQuery.fn上而非使用define定义的模块。
JQuery的这种扩展机制同模块化要求模块的独立性,以及模块互相隔离有点冲突。
jQuery插件数目众多,我们不打算做大量的转换工作,为模块化而模块化,甚至改变插件的调用方式,
这样对开发带来的价值不大。只希望通过模块加载器实现自动的依赖管理,按需加载,并且使用方式自然。
1.常见的jQuery插件的模块化方式
把jquery插件作为一个函数返回,带一个jquery参数,由调用者完成插件的初始化。
以jquery-themeswitch插件为例子,该插件依赖jquery.cookie插件。
/* jquery-themeswitch.js */

define(function(require) {

return function(jQuery) {

//先初始化依赖的模块
require('./jquery.cookie')(jQuery);

//put plugin code here

}//end of function

});

2.jquery模块化后调用方式
下面的demo对模块的引用采用相对路径,实际的业务开发中可以通过seajs提供的alias来重命名
(1)模块内部使用
var $ = require('./libs/jquery');
require('./libs/jquery-themeswitch')($);
require('./libs/jquery-ui')($); //demo涉及jquery ui组件

$(document).ready(function(){ //在DOM加载完成时运行代码

$('#elem').themeswitcher();
...

}
...

(2)在script代码片段中
seajs.use(['./libs/jquery','./libs/jquery-themeswitcher', './lib/jquery-ui'],
function ($, themeswitcher,jqueryui){

themeswitcher($); //init jquery plugin
jqueryui($);

$(function(){ //dom ready调用的另外一种方式

$('#elem').themeswitcher()
...

});

});

优缺点对比:
优点:
* 依赖管理自动化
* 支持多个版本的jQuery使用。(需要这个优点吗?)
缺点:
* 每次调用一次require('plugin')($),会重新初始化一次插件
* 调用方式也不是很方便,调用代码不是很直观
提示:可以在jQuery中添加一个cachedPlugins对象来保存加载过的插件模块id来防止重复加载
3.另外一种插件模块化方式
假定我们去掉jquery多版本的支持,让每个jquery插件模块返回$,看看代码调用方式是否会更自然一些。
另外每个模块只能被编译一次,利用该特性,我们还可以做到让每个插件只会被初始化一次。
说明:模块编译过程就是构建模块的exports的过程。
还以themeswitcher为例子:
jquery-theme-switcher.js
define(function (require, exports, mole) {

var jQuery = require('./jquery');

require('./jquery-cookie');

//put plugin in code here

return jQuery;

});

(1)模块内部使用
require('./libs/jquery-ui'); //可以不处理返回值
var $ = require('./libs/jquery-themeswitch') //返回的还是$

$(function(){

$('#elem').themeswitcher();

});

...

(2)在script代码片段中
seajs.use(['./libs/jquery-themeswitcher', './lib/jquery-ui'],function ($){

$(function(){

$('#elem').themeswitcher()
...

});

});

4.简化jquery插件的引用
如果你使用的插件比较多,还可以通过这样的方式来简化jquery插件的引用。
定义一个myjquery.js
define(function(require) {

require('some-plugin1'); //会自动加载相关的依赖插件
require('some-plugin2'); //如果记不清依赖关系,重复require也没有影响。
require('some-plugin3');

return require('some-plugin'); //每个插件模块都会返回$,取最后一个返回就可以了。

});

在其他的业务代码中,你只需要引入自己定制好的myjquery.js即可。
注意不要在该文件中引入过多的模块,避免影响性能,其他不常用的插件可以按需加载。
main.js
define(function(require) {

var $ = require('./myjquery'); //所有你定制加载的插件都已经初始化好了

//do something

Ⅷ seajs怎样先加载jquery再加载Bootstrap

seajs加载不符合AMD规范的,要在源代码里加define(function() {//源代码 })

阅读全文

与seajs集成jquery相关的资料

热点内容
安装cad2020出现无法定位inf文件 浏览:728
百度竞价数据如何分析 浏览:965
ps文件发送第三方打印 浏览:547
linux命令界面显示文件名 浏览:930
超级录屏视频在文件夹里不能播放 浏览:549
最简单的编程软件有哪些 浏览:14
博客签到系统如何设计数据库 浏览:639
论文怎么设置目录word 浏览:609
广电网络dlna是什么意思 浏览:12
js变量加下划线 浏览:18
app开发工作是吃青春饭吗 浏览:117
苹果手机国家查询 浏览:765
苹果6照片删了怎么找回 浏览:399
文件夹控制面板 浏览:536
人工神经网络人脸识别 浏览:531
打开cad提示参照文件 浏览:521
如何计算数轴上三点abc对应的数据 浏览:985
文件夹到u盘变成多少kb 浏览:351
sfs文件怎么解压 浏览:39
为什么app隐私政策总是变更 浏览:490

友情链接