ES6 模块导出
//ES6 中的顶级导出,与次级导出并行不悖
export default function myFunc(name,age){
console.log('Name: '+name+'\n'+'Age: '+age+'\n');
}
var name = 'Tadokoro';
var a = 24
//以别名导出
export {name,a as age}
ES6 模块导入
import saysth,{name,age} from './sthexport.js'
saysth(name,age);
//Error
//import {myFunc,name,age} from './sthexport.js'
//myFunc(name,age)
/*
SyntaxError: The requested module './sthexport.js' does not provide an export named 'myFunc'
at ModuleJob._instantiate (internal/modules/esm/module_job.js:96:21)
at async ModuleJob.run (internal/modules/esm/module_job.js:134:20)
at async Loader.import (internal/modules/esm/loader.js:179:24)
*/
CommonJS 模块导出
//两个都可以
module.exports.age = 24;
exports.name = 'Tadokoro'
//Common JS 中的顶级导出,会覆盖前面的次级导出
//module.exports = {job:"Student"}
CommonJS 模块导入
let i = require('./sthexport');
console.log('Name: '+ i.name + '\n' + 'Age: '+ i.age + '\n');