美文网首页
模块之间导出与引入

模块之间导出与引入

作者: 钱罗罗_ | 来源:发表于2018-07-30 23:07 被阅读83次

    1.导入导出语法的使用范围

       require:  node和es6都支持的引入

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

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


    2.Node模块

        Node模块遵循的是CommonJS规范。

    CommonJS

        exportsmodules.exports: 在node执行一个文件的时候,会给这个文件生成两个对象module和exports。而modules对象有一个exports的属性。内存关系如图:

    指向图

        require引入的内容其实是module.exports指向的内存块内容,并不是exports的,虽然node在执行文件的时候会把两个变量都指向一样的内存块,但是手动修改了,就不一样了。

        所以exports得作用就是辅助module.exports添加内容用的。"我exports辛辛苦苦把数据都操作完了,结果require的是module.exports的数据。我不高兴!"

        但是还是推荐用module.exports导出。require引入。

    3.ES中的模块引入与导出

        export 和export default :

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

            2.一个文件中,可以有多个export和import。但是只能有一个export default

            3.通过export方式导出,要在导入时加{  }    //  import { name } from "/.a.js"

            4.export 能直接导出变量表达式,export drfault不行

    4.原文链接:https://segmentfault.com/a/1190000010426778  

    感谢!!!

    相关文章

      网友评论

          本文标题:模块之间导出与引入

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