export/import、require、exports/module.exports区分及使用

区别:

1. require 是ES6和node都具有,可实现引入

2. export/import 是ES6的导出/引入

3. exports / module.exports

DEMO

demo_export.mjs

'use strict'
//导出变量
export const a = '100';  

 //导出方法
export const dogSay = function(){ 
    console.log('wang wang');
}

 //导出方法第二种
function catSay(){
   console.log('miao miao'); 
}
export { catSay };

//export default导出
const m = 200;
export default m; 
//export defult const m = 100;// 这里不能写这种格式。

index.mjs

'use strict'
import { a, dogSay, catSay } from './demo_export.mjs' //导出了 export 方法
import m from './demo_export.mjs' //导出了 export default

import * as testModule from './demo_export.mjs' //as 集合成对象导出

dogSay()
catSay()
console.log(a)
console.log(m)
testModule.dogSay()
console.log(testModule.m) // undefined , 因为  as 导出是 把 零散的 export 聚集在一起作为一个对象,而export default 是导出为 default属性。
console.log(testModule.default) // 100

nodejs下运行ES6语法import/export,文件后缀改为.mjs,执行命令

node --experimental-modules index.mjs

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容