闲来无事,随便写写
前端模块化:CommonJS与ES6模块化
模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常
一个文件就是一个模块
,有自己的作用域,只向外暴露特定的变量和函数
。
CommonJS模块化
学会CommonJS记住四点就行:
module
、exports
、require
、global
。用module.exports
定义当前模块对外输出的接口与变量,用require加载模块。
// 定义模块math.js
var basicNum = 0;
function add(a, b) {
return a + b;
}
//在这里写上需要向外暴露的函数、变量
module.exports = {
add: add,
basicNum: basicNum
}
// 引用自定义的模块时,参数包含路径,可省略.js
var math = require('./math');
math.add(2, 5);
// 引用核心模块时,不需要带路径
var http = require('http');
http.createService(...).listen(3000);
ES6 模块化
学会ES6 模块化记住两点就行:
export
和import
。见名知意
/** 定义模块 math.js **/
var basicNum = 0;
var add = function (a, b) {
return a + b;
};
export { basicNum, add };
/** 引用模块 **/
import { basicNum, add } from './math';
function test(ele) {
ele.textContent = add(99 + basicNum);
}
// 另一种写法
/** export default **/
//定义输出
export default { basicNum, add };
//引入
import math from './math';
function test(ele) {
ele.textContent = math.add(99 + math.basicNum);
}