1. JS模块化加载方案和选型:
①. CommonJS:
a. 旨在Web浏览器之外为JavaScript建立模块生态系统,同步加载.
b. Node.js模块化方案受CommonJS影响,非常类似.
②. AMD(Asynchronous Module Definition):
a. 异步模块定义规范,主要应用于浏览器上.
b. RequireJS模块化加载器:
(1). 基于AMD API实现
③. CMD(Common Module Definition):
a. 通用模块定义规范
b. SeaJS模块化加载器:
(1). 遵循CMD API编写
④. ES6 import:
(1). CommonJs:
var store = require('store')
exports = function() {
return store.get('customers')
}
(2). NodeJS module:
var store = require('store')
function customerStore() {
return store.get('customers')
}
modules.exports = customerStore
(3). RequestJs:
<script data-main="script/main" src="scripts/require.js"></script>
(4). SeaJS:
define(function(require, exports, module) {
})
define('module', ['module1', 'module2'], function(require, exports, module) {
})