ES6和commonJS导入
ES6模块导入
export
//导出变量
let str = 'hahahaha'
export str
// 等同于export let str = 'hahahaha'
//导出函数
function getData(){
console.log('方法')
}
export getData
//等同于export function getData(){
// console.log('方法')
// }
//导出类
class Map(){
init(){
console.log('初始化');
}
}
export Map
//等同于export class Map(){}
//默认导出,一个模块只能有一个默认导出
class Map(){
....
}
export default Map
export * as data
默认导出更容易被导入,因为我们不需要再去看导入的变量、函数或者类的名称就可以导入,一个模块若只有一个导出我们可以使用默认导出。
import
导入模块时,就像是const定义变量一样,引入后变量不允许直接去更改,如果引入文件有操作原模块变量值的方法,可以通过调用导入的方法改变,不能直接改变。
import { str, getData, Map } from '导入文件地址'
console.log(str) //'hahahaha'
getData() //'方法'
let map = new Map()
console.log(map.init()) //'初始化'
//导入整个模块
import * as Way from '导入文件地址'
Way.str //'hahahaha'
Way.getData() //'方法'
使用*号关键字,将模块中的所有内容作为单个对象导入
//匿名导入
import '导出文件地址'
导出和引入改名
let sum = 0
export { sum as total }
import { total as sum } from '导入文件地址'
export default function(){}
//export default let a = 0 一个模块只能有一个默认导出
export let b = 1
//引入时,默认导出的变量需要写在最前面,非默认导出需要写在花括号内
import a, { b } from '导入文件地址'
//如果需要改名
import { default as func, b} from '导入文件地址';
commonJS导入
导出
function fn(a, b){
return a + b
}
module.export = {
fn //fn: fn
}
导入
const a = require('')
a.fn(1,2)
参考文章:https://zhuanlan.zhihu.com/p/419682468