美文网首页
🌟🌟🌟:export default 的坑以及es6的impor

🌟🌟🌟:export default 的坑以及es6的impor

作者: 达摩会武术 | 来源:发表于2019-03-27 15:49 被阅读0次

    今天学习reudx-saga在saga的文件中遇到了一个export default mysaga,但是在store的index引用的时候却用了另一个名字,真的是一脸懵逼,后来问了师傅得知,export default导出的文件,在另一个文件中使用的时候可以随便命名😢,真tm的想骂人了唉,还是自己学艺不精,所以即一些es6的import和export的知识以备不时之需吧。(例子🌰摘自阮一峰es6标准入门第三版)


    模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。

    export default 命令
    为了给用户提供方便,让他们不用阅读文档就能加载模块,就要用到export default命令,为模块指定默认输出。

    // export-default.js
    export default function () {
      console.log('foo');
    }
    

    上面代码是一个模块文件export-default.js,它的默认输出是一个函数。

    其他模块加载该模块时,import命令可以为该匿名函数指定任意名字。

    // import-default.js
    import customName from './export-default';
    customName(); // 'foo'
    

    上面代码的import命令,可以用任意名称指向export-default.js输出的方法,这时就不需要知道原模块输出的函数名。需要注意的是,这时import命令后面,不使用大括号。

    export default命令用在非匿名函数前,也是可以的。

    // export-default.js
    export default function foo() {
      console.log('foo');
    }
    
    // 或者写成
    
    function foo() {
      console.log('foo');
    }
    
    export default foo;
    

    上面代码中,foo函数的函数名foo,在模块外部是无效的。加载的时候,视同匿名函数加载。

    本质上,export default就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。

    总结:引用通过exprort default 导出的模块,可以不加"{ }",通过export const 导出的,在引入时必须加{ }.

    相关文章

      网友评论

          本文标题:🌟🌟🌟:export default 的坑以及es6的impor

          本文链接:https://www.haomeiwen.com/subject/nbpzvqtx.html