module.exports与exports,export与export default之间的区别及使用
这里我就以最简单的方法,举例说明
CommonJS :使用module.exports与exports
es6:使用export与export default
使用区别
require: node 和 es6 都支持的引入
export / import : 只有es6 支持的导出引入
module.exports / exports: 只有 node 支持的导出
这里先介绍CommonJS的module.exports与exports举例说明
先解释 exports 和 module.exports
在一个node执行一个文件时,会给这个文件内生成一个 exports和module对象,
而module又有一个exports属性。他们之间的关系如下图,都指向一块{}内存区域。
exports = module.exports = {};
关系图
CommonJS定义的模块分为: 模块标识(module)、模块定义(exports) 、模块引用(require)
这里创建a.js文件
var a=11;
index(value){
consloe.log("值="+value)
}
exports.a=a;
exports.index=index;
或者
exports{
a,
index
}
module.exports.a=a;
module.exports.index=index;
或者
module.exports={
a,
index
}
var b=require(./a.js);
let b=a.a;
console.log(b);
conssole.log(b.index("我是一个方法"));
exports 和 module.exports两种基本用法相识
es的export与export default
首先我们讲这两个导出,下面我们讲讲它们的区别
- export与export default均可用于导出常量、函数、文件、模块等
- 在一个文件或模块中,export、import可以有多个,export default仅有一个
- 通过export方式导出,在导入时要加{ },export default则不需要
- export能直接导出变量表达式,export default不行。
举例
创建a.js文件
export const a=11;
export const index1=index1(value){
console.log(value)
}
export const index2=index2(value){
console.log(value)
}
const a=11;
index1(value){
console.log(value)
}
index2(value){
console.log(value)
}
export default={
index1,
index2
}
import {a,index1,index2 } from './a.js';
使用
console.log(a);
console.log(index1("export 的 index1"));
console.log(index1("export 的 index2"));
import a from './a.js';
使用
console.log(a);
console.log(index1("export default的 index1"));
console.log(index1("export default的 index2"));
根据自己的开发需求使用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)