es6模块化

es6模块化

怎么使用es6模块 ?
esModule模块 (es6) 和 commonjs模块 (node模块)
— es6(静态导入:不能在作用域中导入)
import…from …导入
import …有副作用的导入(可以让文件执行 但是没有使用这个文件中的内容)
export—导出
export default–导出具体值 每个文件都是一个模块
— commonjs模块(动态导入)
可以在作用域中导入,例:if(…){ require(XXXX)}

import--导入 export---导出
// a模块
let a = 1; // 导出a变量 (接口)
let b = 2;
let h = 'hello'
setInterval(()=>{
    a++
},1000)
export {    //不能写成对象格式
	b,
    a as c, // as 就是起别名
}
// b模块
import {c,b} from './a';
setInterval(() => {
    console.log(c,b); // 每次获取的值都会随着接口中的内容变化而变化
}, 1000);
// c模块
import * as obj from './a';   // 可以将所有属性收集到obj对象中
obj.c
obj.b
import--导入 export default--导出具体值
// a模块
export default 'hello';
// b模块
import c from './a';    
console.log(c)   // hello
import--导入 export---导出 export default--导出具体值
let a = 1; // 导出a变量 (接口)
let b = 2;
let h = 'hello'
export {    //不能写成对象格式
	a,
	b,
	c as default // 相当于 export default c
}
export default h
// b模块
import c,h,{a,b} from './a';
合并导出
//a模块
let a = 1; 
export {   
	a,
}
//b模块
let b = 2;
export {   
	b,
}
//c模块 合并导出
export * from './a';
export * from './b';
// d
import * as obj from './c'
// 动态导入 可以在作用域中使用
let btn = document.createElement('button');
btn.addEventListener('click',function(){
    // import语法返回的是一个promise
    import('./file').then(data=>{
        console.log(data);
    });// 动态的使用jsonp加载一个新的文件
})
document.body.appendChild(btn);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值