module.exports 和 exports
1 . Node
利用由模块组成,采纳 CommonJS 模块标准;
每个文件就是一个模块,有本人的作用域,在一个文件内定义的变量,函数,类都是公有的;
CommonJS 标准规定,每个模块外部,module
代表以后模块,module
是一个对象,它的 exports
属性(即 module.exports
)
是对外的接口。
var x=5;
module.exports.x=x;
下面代码通过module.exports
输入变量x
;
require
办法用于加载模块
var x =require('./x.js');
log(x);
2 . exports
变量
为了不便,Node
为每个模块提供一个 exports
变量,指向 module.exports
,
等同在每个模块头部,有一行这样的命令
var exports = module.exports;
// 应用 必须要导出一个具体的属性名
exports.utils=()=>{};
export 和 export default
1 . export
和 export default
属于 ES6 module(简 ESM);export
命令用于规定模块的对外接口,import
用于输出其余模块提供的性能
export let year =2019;
另一种写法和 as 的用法
let month=11, year = 2019;
function sum(){};
export {month, year as get_years, sum};
2 . export
与 import
的复合用法
export {foo as myFoo} from 'my_module';
export * from 'my_module';
3 . 为了给用户提供方便,不必浏览文档就能加载模块,就要用到 export default
命令,为模块指定默认输入。
export default function(){//todo}