1.什么是AMD瞬测、CMD到推、CommonJs?
AMD(異步模塊定義)是RequireJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出酥泛,它是一個概念今豆,而RequireJS實現(xiàn)這個概念嫌拣。可以通過require引用加載呆躲。
RequireJS特點是依賴前置异逐,即在定義前面通過數(shù)組的形式加載所有的依賴。
define(['package/lib'], function (lib) {
function foo() {
lib.log('hello world');
}
return {
foo: foo
};
});
CMD(同步模塊定義)是SeaJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出插掂,SeaJS是CMD這個概念的實現(xiàn)灰瞻。特點是就近依賴,即哪里用到依賴就在哪里引入辅甥,即用即返回(同步概念)
define(function (require, exports, module) {
// 通過require引入依賴
var $ = require('jquery');
var Spinning = require('./spinning')
});
CommonJs規(guī)范通過module.exports定義酝润,前端瀏覽器并不支持,推薦在后端nodeJs中使用
exports.area = function (r) {
return Math.PI * r * r;
};
exports.circumference = function (r){
return 2 * Math.PI * r;
};
ES6新增特性 export/import