id:指定义中模块的名字,可选;如果没有提供该参数,模块的名字应该默认为模块加载器请求的指定脚本的名字。如果提供了该参数,模块名必须是“顶级”的和绝对的(不允许相对名字)。依赖dependencies:是一个当前模块依赖的,已被模块定义的模块标识的数组字面量。
依赖参数是可选的,如果忽略此参数,它应该默认为["require", "exports", "module"]。然而,如果工厂方法的长度属性小于3,加载器会选择以函数的长度属性指定的参数个数调用工厂方法。工厂方法factory,模块初始化要执行的函数或对象。如果为函数,它应该只被执行一次。如果是对象,此对象应该为模块的输出值。

模块名的格式

模块名用来唯一标识定义中模块,它们同样在依赖性数组中使用:

模块名是用正斜杠分割的有意义单词的字符串
单词须为驼峰形式,或者".",".."
模块名不允许文件扩展名的形式,如“.js”
模块名可以为 "相对的" 或 "顶级的"。如果首字符为“.”或“..”则为相对的模块名
顶级的模块名从根命名空间的概念模块解析
相对的模块名从 "require" 书写和调用的模块解析

<script src="http://www.w3cgroup.com/oye/resource/js/oye/oye.min.js"></script>

<script>
//定义一个模块"app/basic",它依赖另一个模块"util"
/*
如果在模块定义体中需要用到依赖模块,则模块定义体应该是固定的方式
即,使用闭包的方式进行模块实体定义,从而可以对依赖模块进行调用
*/
define('app/basic', ['util'], function(util){
//定义app/basic模块实体
var ret = {
isString: function(str){
//对依赖模块的调用
return util.isString(str);
}
};
//返回模块实体的定义
return ret;
});
//定义一个没有依赖的模块"util",它的实体可以是任意形式,比如,直接就是一个Object对象
define('util', {
isString: function(str){
return str&&typeof str==='string';
}
});
//现在要在页面上使用模块"app/basic",有两种回调方式
//方式1
require('app/basic', function(basic){
alert(basic.isString('hello,world'));
});
//方式2
require('app/basic').todo(function(basic){
alert(basic.isString('hello,world'));
});
/*
如果想要和window.onload结合起来用,可以有两种方式:
1.在window.onload中进行 require
2.在require的callback中绑定到window.onload,考虑到异步情形下的require,callback执行时window.onload已经触发过了,所以,可以设定一个window.loaded的flag进行判断
*/
</script>

define,require的基本用法相关推荐

  1. Javascript模块化编程require.js的用法

    JS模块化工具requirejs教程(一):初识requirejs http://www.runoob.com/w3cnote/requirejs-tutorial-1.html JS模块化工具req ...

  2. require.js的用法:

    require.js的用法: 1.作用:     1>实现js文件的异步加载,避免网页失去相应. 2>管理模块之间的依赖性,便于代码的编写和维护. 2.下载     官网下载地址:http ...

  3. #pragma once 与 #define的含义及用法

    #pragma once 与 #define #pragma once的含义及用法 #define的含义及用法 #pragma once的含义及用法 #pragma once是一个比较常用的C/C++ ...

  4. Javascript模块化编程(三):require.js的用法

    这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...

  5. require.js基本用法

    1.require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本. 下载后,假定把它放在js子目录下面,就可以加载了. 1 <script src="js/ ...

  6. require.js的用法

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  7. require.js的用法-阮一峰

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  8. requireJS define require

    define 用来定义模块 require 用来加载模块 1 因为定义一个模块,可能会依赖其他模块,当然最简单的情况下是不依赖其他模块,这时就可以这样写: //Inside file my/shirt ...

  9. C++ 头文件 #ifndef #define #endif 作用及用法

    为什么要加定义 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声 ...

最新文章

  1. dns tunnel CC
  2. [BZOJ1007] [HNOI2008] 水平可见直线 (凸包)
  3. 在开课吧学python的经历-“你毕业2年,为什么写3年的工作经验?”“加班啊”...
  4. 15合并两个排序的链表
  5. canal应用二:mysql数据实时同步到redis
  6. ffmpeg文档6:同步音频
  7. WebStorm打开设置界面
  8. Spring Security HttpSecurity.formLogin
  9. 平面设计师必读的十本书
  10. C#编程基础(简单概述与理解)
  11. 远程预付费电能监测系统设计与应用
  12. python控制浏览器最小化_如何在最小化浏览器的情况下使用selenium webdriver执行测试...
  13. 在注册表里删除没用的服务
  14. Acrel-2000Z电力监控系统的应用
  15. rpm包的下载安装与使用---手把手教学
  16. ceph osd heartbeat 分析
  17. 公告栏模板php代码,[免插件]为wordpress主题怎样添加滚动公告栏功能
  18. B站喷子脚本,bilibili喷人
  19. SQL求连续活跃天数
  20. Apifox 学习笔记 - 前置操作

热门文章

  1. 计算机网络实验(华为eNSP模拟器)——第六章 密码模式和AAA模式
  2. 模拟k8s项目的生命周期
  3. awk 截取部分字符串_linux三剑客-awk
  4. python定义函数的命令_Python入门 | 定义函数
  5. python制作视频播放器_Python应用03 使用PyQT制作视频播放器
  6. 服务器端使用sendRedirect跳转到客户端异常
  7. Windows7系统自带的备份与还原功能使用介绍
  8. md5会重复吗_自媒体平台视频重复审查机制,如何避免自己做的视频和别人的重复...
  9. visual studio 怎么生成coredump文件_coredump详解
  10. php echo中的点是什么?,php编程中echo用逗号和用点号连接的区别,echo逗号_PHP教程...