ES6 的模块化

项目中,每一个JS文件即是一个模块。

  • 如何导出

  • 如何引入

  • 在开发项目时,需要理解如何对项目进行模块化的划分。(react)

一、直接导出

  • 如何导出:module/1.js:

    // 导出变量userName
    export let userName = "zhangsan";
    export const age =12;
    export const fn = function(){
    }
    export const sex = "男";
  • 如何引入

    // 导出的名字需要与引入的名字一致。
    import {userName,fn,age,sex} from "./module/1.js";
    console.log(userName,fn,age,sex);

二、解决冲突

  • 如何导出 module/2.js

    export let a = 1;
    export let b = 2;
    export let c = 3;
    export let d = 4;
  • 如何引入

        // 导入(依赖,引入)时可以通过as起个别名. as 是 alias的缩写
        let a = "100";
        let b = "200";
        import {a as aa,b as suibian,c,d} from "./module/2.js";
        console.log(aa,suibian,c,d);// 1 2 3 4

三、先定义再导出

  • 如何导出

    function fn(){
    ​
    }
    let userName = "zhangsan";
    let age = 12;
    let obj = {};
    ​
    export {
        fn,
        userName as user,// 起个名字
        age,
        obj
    }
    ​
  • 如何引入

    let userName = "lisi";
    import {fn,user,age,obj} from "./module/3.js";
    console.log(fn,user,age,obj)

四、可以批量导入

  • 如何导出

    export let a = 1;
    export let b = 10;
    export let c = 2;
    export let d = 3;
    export let e = 4;
    export let f = 5;
    export let g = 6;
  • 如何引入

    import * as mo4 from "./module/4.js";
    console.log(mo4.a,mo4.b,mo4.c);

五、默认导出(频率最高的)

  • 如何导出

    // 默认导出在一个模块中只允许出现一次。
    // export default 1;
    export default {};
  • 如何引入

    import num from "./module/5.js";
    console.log(num);

六、混合导出:导出时有默认也有非默认

  • 如何导出

    export let age = 13;
    export let b = 2;
    export let fn = function(){
    ​
    }
    export function run(){
    ​
    }
    export default {
        hobby:"学习",
        sex:"男"
    }
  • 如何引入

        import mo,{age,b,fn,run} from "./module/6.js";
        console.log(age,b,fn,run,mo.hobby,mo.sex);

七、注意:模块化(js)可以引入多次,但只会执行一次。

  • 如何导出

    console.log("7.js");
    import mo6 from "./6.js";
    export default {
        a:1,
        b:2,
        hobby:mo6.hobby,
        sex:mo6.sex
    }
  • 如何引入

    import mo7 from "./module/7.js";
    // import mo77 from "./module/7.js";
    // console.log(mo7===mo77);// true
    console.log(mo7);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值