AMD规范中模块id的命名规则

AMD 即 Asynchronous Module Definition, 中文是“ 异步模块定义”的意思。

AMD 规范制定了定义模块的规则,这样模块和模块的依赖可以被异步加载。

AMD 规范只定义了一个函数且为全局变量:define(id?,dependencies?,factory)

这里我们主要整理下id的命名规则.

id 一个字符串,定义的是模块的名字,这个参数是可选的。如果没有提供该参数,模块的名字应该默认为模块加载器请求的指定的脚本名字。如果提供了该参数,则必须是顶级的或相对的

AMD的模块命名规范是CommonJS模块名规范的超集。引用如下:

  • 模块名是由一个或多个的正斜杠(/)为分隔符拼接而成的字符串;
  • 单词须为驼峰式形式或者".","..";
  • 模块名不允许文件扩展名的形式,如.js;
  • 模块名可以是相对的或顶级的。如果首字母为"."或者".."则为相对的;
  • 顶级的模块名从根命名空间的概念模块开始解析;
  • 相对的模块名从require书写和调用的模块开始解析。

相对模块名解析示例:

  • 如果模块"a/b/c"请求"../d",则解析为"a/d"
  • 如果模块"a/b/c"请求"./e",则解析为"a/b/e"

requireAPI介绍: https://github.com/amdjs/amdjs-api/wiki/require

AMD规范中文版:https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88)

目前,实现AMD的库有RequireJS 、curl 、Dojo 、Nodules 等。

时间: 2024-11-09 13:24:40

AMD规范中模块id的命名规则的相关文章

详解 Python 中的下划线命名规则

在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后……那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,“_”代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准CPython解释器采用,然后其他类型的解释器也先后采用. >>> _ Traceback (most recent call last): Fil

C#中的变量及命名规则

变量: 1.作用 :可以让我们在计算机中存储数据 2.语法:变量类型    变量名=赋值: 3.常用的数据类型:  int   整数类型  取值范围:最大2147483647;最小-2147483648 double   小数类型  取值范围:最大 1.79769e+308;最小-1.79769e+308 string    字符串  "    " char    字符   ' ' decimal    金钱类型 bool   我们用bool类型来描述对或者错. true    对 f

网页设计中常用的CSS命名规则整理

头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 或 wrap 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:foote

javaScript中的数据类型和命名规则

有7种数据类型: undefined(未定义) null(空), boolean(布尔型) string(字符串) symbol(符号), number(数字) object(对象) 命名规则 Variable (变量)的名字可以由数字.字母.$ 或者 _组成,但是不能包含空格或者以数字为首. 注意: 当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值 undefined.当你对一个值为 undefined 的变量进行运算操作的时候,算出来的结果将会是 NaN,NaN 的意

Centos 7中的网卡一致性命名规则

一致性网络设备命名,即Consistent Network Device Naming 一.为什么需要这个 服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的. Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序. 为解决这类问题,dell开发了biosdevname方案. systemd v197版本中将dell的方案作了进一步的一般化拓展. 目前的Centos既支持dell的biosdevname,也支持systemd的方案.

基础java中的package的命名规则和import的使用

包的命名一般用公司域名但是注意域名后辍要放前面如下 package com.cnblogs.i.Cat//对应地址是com/cnblos/i/cat.class也就是Cat.class的地址 如果想将一个类放入包中,在这个类源文件第一句话写package 必须保证该类class文件位于正确目录下 另外的类向访问的话:写全名 引入 访问位于同一个包中的类不需要引入 import com.cnblogs.i.Cat//引入方式 com.cnblogs.i.Cat cat = new com.cnbl

JavaSript模块规范 - AMD规范与CMD规范介绍

JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在.对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得"有理可循".

JavaSript模块规范 - AMD规范与CMD规范介绍[转]

原文地址:http://blog.chinaunix.net/uid-26672038-id-4112229.html JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存

JavaSript模块规范 - AMD规范与CMD规范介绍(转)

JavaSript模块规范 - AMD规范与CMD规范介绍 JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在.对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的