js模块化
模块化分为三种方式:
第一种:
CommonJS :
// 导入
const moduleA = require(./moduleA);
// 导出
module.exports = moduleA.someFunc;
第二种:
AMD:
// 定义一个模块
define(‘module’,[‘dep’],function(dep){
return exports;
});
// 导入和使用
require([‘module’],function(module){
});
第三种:
es6模块化:
// 导入
import { readFile} from ‘fs’;
import React from ’ react’;
// 导出
export function hellow() {
};
export default {
// …
}
特点:
CommonJS必须通过工具转换为es5才可以在浏览器环境下运行。
AMD采用了异步的方式去加载模块,可以不进行转换就可以运行。可以并行加载多个依赖,缺点就是JavaScript没有原生支持AMD,需要先导出实现了AMD的库才可以使用。
ES6模块化:浏览器和nodejs宣布原生支持该规范。缺点,需要转换为es5才可以运行。