requirejs 让js复用更方便

工作快6年了,算是个老程序猿了。但感觉会的东西真的很少。这么些年也写了不少代码,但复用的地方真的很少,现在感觉这样可真不行。于是强烈关心起复用技术来,现在不比20岁小伙,任何时候都可以从0写起。

这些年,web程序做的最多,基本都是,而且前后都沾边,js的东西可真写了不少,貌似三分之一的时间都在写js。为啥,因为不会复用。。。,以前也很少用框架,比如easyui 什么的。

现在我记录一下 requireJS 来辅助js控件复用。

现在出了 2.x 版本,去官网下载:http://www.requirejs.org/

使用其实很简单,先看目录:

webcontent/

       js/

             require2.js

             my/

                    a.js

                    b.js

             3td/

                     easyui/

                             .......

在页面上先引入requirejs文件,然后配置,即可使用:

 

 

<script src="js/require2.js"></script>
<script>
require.config({
     baseUrl:"js"
});
require(['my/a','my/b']);
//下面就可以使用了
a.Fun();
b.Fun();
</script>

 注意在引入文件时,可不加".js" ,则会根据baseUrl为相对路径去搜索。如已js结尾,或者/ 开头,如: ['my/a.js','/my/b'] 那么找的是 ./my/a.js 和 /my/b.js

有时候必须等有些文件加载完成后方可加载其他js,那么在配置时加上如下代码即可:

require.config({
     shim:{'jquery':['3td/jquery.min']}
});

//如下方式使用
require(['jquery','my/a']);

 其实requirejs最推荐这样些:

requrie(['my/a','my/b'],function(m,n){
      m.Fun();
      n.Fun();
});

 m对应  my/a  ,n 对应  my/b

这里涉及到一个 叫  AMD 的规范,即你的 my/a.js 应该这样:

define(function(){
      return {
             Fun:function(x,y){}
       }
});

 即返回一个对象,对象包含了需要对外提供的方法。

其中 的 define 是 requireJS 的函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值