module.exports、exports、export的区别
文章类型:node
发布者:admin
发布时间:2023-04-07
一:区别
主要是根据commonjs和esm来进行区分
1:commonjs可以使用module.exports / exports,采用require引入,采用{A :B }重名,不支持集体导出
2:esm可以使用export,采用import引入,采用as重命名, 支持全部导出,script标签设置type='module'
3:是exports 返回的是模块函数,module.exports 返回的是模块对象本身,返回的是一个类
二:分类
1:export
export function showAge() {
console.log(person.age);
}
export const PAI = '3.141592653'
import * as tool from "./moduleA.js";
2:exports=>是 module.exports 的引用和内存空间, 重新赋值则断开指向
exports.double = function (value) {
return value * 2;
}
var { double } = require('./moduleA');
3:module.exports=>默认值为{}
module.exports.double = function( value ){
return value * 2;
}
var { double } = require('./moduleA');
4:export default=> 默认导出,可以直接跟随:变量、具体值、function、calss
function calc(a, b) {
return a + b
}
export default calc
import * as tool from "./moduleA.js";