首页 > 代码库 > seajs 2.3.0 傻瓜式入门
seajs 2.3.0 傻瓜式入门
【seajs】
很久之前就想使用seajs,尝试了多次,可能是自己比较笨或者seaj的文档和例子太简单,总是无从下手,
这次自己搞了一个网站,引用多个js的时候需要减少http请求,
找了半天又找到seajs+spm,好吧,再来一次。
【博文】
这个博文讲的很透彻,好像是seajs开发者写的,供参考,如果这个博文能看懂那就不必再往下看了,
地址:https://speakerdeck.com/lifesinger/seajs
【傻瓜式入门】
如果还是看不懂,那就一步一步往下看吧。
说明:
我的例子是使用freemarker写的,要是不知道这个东西,那就需要你改写为html的,
其实没有区别,就是路径需要改改,要是知道,那就直接tomcat跑起来看吧。
【demo01】
demo01.ftl
<!DOCTYPE html> <html> <head> <title>seajs-demo-01</title> <!-- 引入sea.js --> <script type="text/javascript" src=http://www.mamicode.com/"${base}/ZJS/seajs-2.3.0/sea.js"></script>>
demo01.js// seajs中一个js文件就是一个模块,模块定义就这样定义 define(function(){ alert('1111'); });
运行效果:
【demo02】
demo02.ftl
<!DOCTYPE html> <html> <head> <title>seajs-demo-02</title> <!-- 引入sea.js --> <script type="text/javascript" src=http://www.mamicode.com/"${base}/ZJS/seajs-2.3.0/sea.js"></script>>
demo02.jsdefine(function(require, exports){ exports.msg = '222'; });
运行效果:
【demo03】
demo03.ftl
<!DOCTYPE html> <html> <head> <title>seajs-demo-02</title> <!-- 引入sea.js --> <script type="text/javascript" src=http://www.mamicode.com/"${base}/ZJS/seajs-2.3.0/sea.js"></script>>
demo03.jsdefine(function(require, exports){ var demo = require('./demo.js'); var str = demo.getStr('test'); exports.msg = 'the res is:' + str; });
demo.jsdefine(function(require, exports){ exports.getStr = function(ss){ if(ss == '1'){ return '111'; }else{ return '222'; } }; });
运行效果:
【简单讲解】
拿demo03来说:
1.每个js就是一个模块,定义需要使用define
2.每个模块中有require和exports两个参数
3.require定义了这个模块依赖的模块,获取之后可以使用
4.exports定义了这个模块给其他模块提供的外部方法,其他模块获取这个模块之后可以调用这些方法。
5.使用的时候利用seajs.use使用模块。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。