JS模块化

遇到的问题:

- 冲突

函数名字一样;
解决方法:
加命名空间,把方法放到对象的属性里,可降低冲突,但无法避免。

- 性能

加载大插件,但只需用一个方法,全部加载的话降低性能。
解决方法:
拆分成小方法,按需引入。但是页面引入很多js文件,会引入依赖问题。

- 依赖

加载js的顺序依赖问题。

JS模块化

seajs

使用:

  • 引入sea.js库;
  • 如何变成模块 define()
define(function(require,exports,module){//参数固,写法不变
    function tab(){
         alert(123);
    }
})
  • 如何调用模块exports seajs.use
define(function(require,exports,module){//参数固,写法不变
//exports对外的接口
    function tab(){
         alert(123);
    }
    exports.tab=tab;
})
//seajs.use-页面调用模块-第一个参数:模块的地址,第二个参数:地址加载成功后的回调函数。
seajs的默认根目录:sea.js
seajs.use(‘./js/test1.js’,function(ex){//回调的参数,就是模块中的exports
    ex.tab();
});
  • 如何依赖模块 require

你可能感兴趣的:(JS模块化)