有了 define 等模块定义规范的实现,我们可以开发出很多模块。但光有一堆模块不管用,我们还得让它们能跑起来。在 SeaJS 里,要启动模块系统很简单:

<script src=”path/to/sea.js”></script>
<script>
seajs.use(‘./main’);
</script>

seajs.use 用来在页面中加载模块。通过 use 方法,可以在页面中加载任意模块。
语法:seajs.use seajs.use(id, callback?)

// 加载模块 main,并在加载完成时,执行指定回调
seajs.use(‘./main’, function(main) {
main.init();
});

use 方法还可以一次加载多个模块:

// 并发加载模块 a 和模块 b,并在都加载完成时,执行指定回调
seajs.use(['./a', './b'], function(a, b) {
a.init();
b.init();
});

callback 参数可选。当只加载一个模块,且不需要 callback 时,可以用 data-main 属性来简化,:<script src=”path/to/sea.js” data-main=”./main”></script>

上面的代码等价于:

<script src=”path/to/sea.js”></script>
<script>
seajs.use(‘./main’);
</script>

SeaJS 还提供 data-config 来加载配置文件:

<script src=”path/to/sea.js” data-config=”path/to/config”></script>
data-config 等价:
seajs.config({
preload: ['path/to/config']
});

路径解析规则与 seajs.use 一致。

我这里用的是:
<script src=”/js/lib/sea.js” data-config=”/js/config.js”></script>
<script>
seajs.use(‘/js/main’, function(main) {
main.banner_focus(‘#focus’);
});

注:main为模块名。main.method为模块定义的函数,可以传递参数过去

SeaJS之use函数相关推荐

  1. oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数

    oracle数据库实现获取时间戳的无参函数 代码如下所示: CREATE OR REPLACE FUNCTION GETMSTIMESTAMP RETURN NUMBER AS MSTIMESTAMP ...

  2. 让我们再聊聊浏览器资源加载优化

    几乎每一个前端程序员都知道应该把script标签放在页面底部.关于这个经典的论述可以追溯到Nicholas的 High Performance Javasript 这本书的第一章Loading and ...

  3. 【让我们再聊聊浏览器资源加载优化】

    几乎每一个前端程序员都知道应该把script标签放在页面底部.关于这个经典的论述可以追溯到Nicholas的 High Performance Javasript 这本书的第一章Loading and ...

  4. nodejs快速入门(一)-模块化开发

    随着网站开发的复杂度越来越高,js代码和js文件的增多,出现了开发者头疼的两个问题:① 命名冲突:②文件依赖. js模块化开发可以解决这些问题. ①变量命令冲突 在js文件中,如下创建一个变量并赋予一 ...

  5. SeaJS学习之use函数

    有了 define 等模块定义规范的实现,我们可以开发出很多模块.但光有一堆模块不管用,我们还得让它们能跑起来.在 SeaJS 里,要启动模块系统很简单: <script src="p ...

  6. SeaJS基本开发原则

    SeaJS基本开发原则 在讨论SeaJS的具体使用前,先介绍一下SeaJS的模块化理念和开发原则. 使用SeaJS开发JavaScript的基本原则就是:一切皆为模块.引入SeaJS后,编写JavaS ...

  7. 使用SeaJS实现模块化JavaScript开发

    2019独角兽企业重金招聘Python工程师标准>>> 前言 SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加 ...

  8. 【SeaJS】【3】seajs.data相关的源码阅读

    在SeaJS官网上推荐了源码阅读顺序,本文并没有采用这个顺序,而是按个人习惯以调试官方示例的方式进行源码阅读.早期版本作者玉伯使用了几个闭包形式,本文源码版本为2.1.1,它的编码方式个人认为更加脚本 ...

  9. seaJs api 帮助文档

    前言 SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.与jQuery等JavaScript框架不同,SeaJS不会扩展封 ...

最新文章

  1. C++11中std::tuple的使用
  2. Head First HTML与CSS、XHTML++笔记(第四章 WEB镇之旅 第五章 认识媒体)
  3. 计算机涉及数学知识点,初二数学知识点归纳
  4. 在SpringBoot项目中,自定义注解+拦截器优雅的实现敏感数据的加解密!
  5. 【实际经验】一台无系统PC机连接局域网产生的问题
  6. 低代码和零代码火了,十大利器推荐!
  7. MUI class=mui-switch开关 JQuery 控制开关
  8. unity下载网页所有图片
  9. ECharts数据可视化(入门)
  10. 海尔构建全球首个智能制造云平台COSMO
  11. html js满屏飘雪特效,原生js实现的雪花飘落特效
  12. 从软件测试培训班出来后找工作的这段经历,教会了我这五件事...
  13. 调用其他命名空间中的函数-洋葱先生-杨少通
  14. c语言中3%3e2%3e1的值,Javascript中的空数组值
  15. 如何设计一个API快速开发平台?
  16. matlab求离散系统,离散系统的MATLAB的实现.doc
  17. 微信服务号与订阅号的主要区别是什么?
  18. 戏说Android四大组件之ContentProvider
  19. [精华] [转贴]Curses函数说明(SCO)
  20. 吉大计算机研究生996综合,996算什么?来看看研究生究竟有多累

热门文章

  1. 最值得你收藏的金字塔之谜详解
  2. 电子政务网络智慧运维方案
  3. 啃书:《利用python进行数据分析》第六章——数据加载(三)
  4. “AI+停车”数百亿的市场等你来加入
  5. 用python实现自动化办公------Excel操作
  6. CAD手机看图软件使用技巧:CAD快捷命令功能
  7. 计算机专业竞争力度大吗,求职竞争最激烈十大行业出炉 计算机软件业榜首
  8. 【期货龙虎榜量价分析】红枣PVC创新高,多空大幅增仓博弈激烈
  9. selenium驱动Firefox安装和环境配置
  10. 提取视频音乐的简单方法