美文网首页
2020-05-15 exports、module.export

2020-05-15 exports、module.export

作者: 追寻1989 | 来源:发表于2020-05-15 09:24 被阅读0次

    一、使用范围

    export/export default/ import: 只有es6 支持的导出引入

    module.exports / exports: 只有 node 支持的导出

    require: node 和 es6 都支持的引入

    二、es6中模块的导入导出

    export 和 export default的区别:

    1、export与export default均可用于导出常量、函数、文件、模块等。

    2、在一个文件或模块中,export、import可以有多个,export default仅有一个。

    3、export 适用于导出多个对象,import需要加{}。

    4、export default 适用于导出单个对象,import可以不加{}。

    4、如果export default是用{}导出对象的,import都可以加括号对导出的对象进行对象解构。

    export 和 export default代码示例:

    1.export

    //a.js
    export const a1 = "aaaaa11111";
    export function m1(sth) { 
      return sth;
    }
    对应的导入方式:
    //b.js
    import { a1, m1 } from 'a'; //导入的时候带花括号
    

    2.export default

    //a.js
    const str = "strstrstr";
    export default str;
    对应的导入方式:
    //b.js
    import str from 'a'; //导入的时候没有花括号
    

    三、node中的模块

    Node里面的模块系统遵循的是CommonJS规范。

    CommonJS定义的模块分为: 模块标识(module)模块定义(exports) 模块引用(require)

    node执行文件时,会给这个文件内生成一个 exports和module对象,module有一个exports属性。他们之间的关系:

    exports = module.exports = {};,都指向一块{}内存区域。exports 只是 module.exports的引用,辅助后者添加内容用的,尽量都用 module.exports 导出,用require导入。

    相关文章

      网友评论

          本文标题:2020-05-15 exports、module.export

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