module.exportsexportsexportimportexport default区别
Posted mrbabibo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了module.exportsexportsexportimportexport default区别相关的知识,希望对你有一定的参考价值。
CommonJs规范:module.exports、exports
module.exports和exports 是commonJs的语法,大家熟知的node就是基于CommonJs语法设计的,node将每个文件视为一个拥有独立作用域链的模块,
每个木块的类,变量,函数等都是私有的,对其他文件不可见。但是,如果别的模块想要使用另一个模块的函数应该如何处理呢,这时我们就会用到module.exports、exports了。
node将每个独立的文件视为一个mudule,而exports是为了将本模块内的变量函数暴露给外面使用的写在module对象上的接口,因此使用时可以通过module.exports来说暴露内部接口到外面:
// add.js let a = 123; let add = function (val) return val + a; ; module.exports.a = a; module.exports.add = add;
使用时:
// index.js var add = require(‘./add.js‘); console.log(add.a); // 123 console.log(add.add(1)); // 124
另外:
node为了方便使用会给每个模块头部提供一个exports变量,内部实现很简单var exports = module.exports;
因此,我们也可以,直接:
exports.add = add 将上面add.js的add函数暴露出去。
ES6模块规范:export、import、export default
Es6使用 export 和 import 来导出、导入模块
// index.js var name = ‘zhangsan‘; var age = ‘12‘; var sex = ‘man‘; export name, age, sex;
或者
export default function () console.log(‘123123‘);
以上是关于module.exportsexportsexportimportexport default区别的主要内容,如果未能解决你的问题,请参考以下文章