seajs学习笔记

来源:互联网 发布:深圳悍马军品淘宝店 编辑:程序博客网 时间:2024/05/18 03:25

参考教程http://blog.csdn.net/it_man/article/details/7782623

1.为什么需要模块?

①https://github.com/seajs/seajs/issues/547

为了解决命名空间冲突、文件依赖关系,seajs把每个js文件看成一个模块

②seajs是一个基于CMD规范的模块加载器,相对于基于AMD规范的RequireJS,此外还有CommonJS规范。

AMD和CMD规范http://www.makumo.com/js-modules-amd-cmd.cat

CMD规范https://github.com/seajs/seajs/issues/242


2.seajs学习

①下载安装

https://github.com/seajs/seajs

②配置

seajs.config({

// 这是基本路径

base:"./sea-modules/"

//如果存在多个路径则保存起来,在alias调用这个变量

paths:{

"gallery":"https://a.alipay.com/gallery"

}

//配置各个组件

alias:{

//别名:路径(相对于base),别名是在模块调用时使用到

"jquery":"jquery/jquery.js"

“jquery-cookie”;"gallery/jquer/cokie.js"

}

});

③使用

先参考CMD规范内容,再来看它的使用会简单些。

定义一个模块define


模块的载入require

seajs.use,require和require.async

在script标签中使用data-main


模块向外提供接口export


注意use方法的使用

可以参考edusoho的app.js文件,其中里面有段代码

seajs.use(name, function(module) {if ($.isFunction(module.run)) {module.run();}});
注意模块化的加载和启动方式


3.包管理工具spm,配合seajs使用,比如aralejs。

http://docs.spmjs.org/doc/

spm分为spm2和spm3,我以为spm2为seajs服务,然后spm3就雄心勃勃了,要做成和npm bower一样的包管理工具和构建工具,是seajs为他服务;

我们还是先看spm2吧。

window下安装时出现git未安装的问题,需要配置git到环境变量,百度吧。

然后安装spm的一些插件。

spm2可以做的是:bower、transport、一些插件(初始化项目等等)

0 0