export default与export,module.exports与exports的区别和关系
export default与export属于ES6语法,module.exports与exports属于CommonJS规范
ES6语法:
导出: export {one, two, three, four, five},{}中为变量名/函数名
导入: import {one, two, three, four, five} from '模块路径'
或
导出: export default 变量|函数|文件|模块|etc
导入: import anyName from "模块路径"
export可以在同一个模块中使用多次;而export default则用于规定模块的默认对外接口,默认对外接口只能有一个,所以export default只能在同一个模块中出现一次;
使用export导出的模块,在引入模块的时候,须得使用{}进行包裹;而使用export default导出的模块,在引入模块的时候,无需使用{}进行包裹;
CommonJS规范:
导出: module.exports = function() {};
导入: require('模块路径');
Node.js应用由模块组成,采用CommonJS模块规范。根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性
发表评论 (审核通过后显示评论):