咱们都知道,虽然咱们能够经过原型和继承来使javascript面向对象。可是,当js代码和逻辑过多时,代码的维护和扩展会变的很不方便。这时,nodejs作的很是好,可是在浏览器端模块化的js编程一直都是个难题。而requireJS就是来帮助咱们解决这个问题的。requireJS遵循amd规范,因此让咱们先了解下关于AMD规范的事情。javascript
1、AMD规范css
AMD规范是浏览器端的模块规范,它的全称为异步模块定义。从名称上看便知它是适合script tag的。也能够说AMD是专门为浏览器中JavaScript环境设计的规范。它吸收了CommonJS的一些优势,但又不照搬它的格式。开始AMD做为CommonJS的transport format 存在,因没法与CommonJS开发者达成一致而独立出来。它有本身的wiki 和讨论组 。java
AMD设计出一个简洁的写模块API:node
define(id?, dependencies?, factory);jquery
其中:git
define(function() { return { mix: function(source, target) { } }; });
ui.jsgithub
define(['base'], function(base) { return { show: function() { // todo with module base } } });
page.js编程
define([
'base'
],
function
(base) {
return
{
show:
function
() {
// todo with module base
}
}
});
data.jsapi
define({
users: [],
members: []
});
define(
'index'
, [
'data'
,
'base'
],
function
(data, base) {
// todo
});
define(
function
(require, exports, module) {
var
base = require(
'base'
);
exports.show =
function
() {
// todo with module base
}
});