美文网首页我爱编程
import和export的作用

import和export的作用

作者: Zeroacexy | 来源:发表于2018-05-28 16:27 被阅读0次

        在es6标准发布之前,js是没有模块化的概念的,也就是说原生js是无法将一个大型程序拆分成若干相互依赖的小模块的。而es6针对这个问题提出了Module的概念,设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。

        关于静态化是指直接从指定模块取出想要的方法,其他的不加载。比如

        此时只加载fs中的stat、exists和readFile三个模块,其他的不加载。而比如CommonJS和 AMD 模块,都只能在运行时确定这些东西。也就是先加载整个fs,然后再从中找到想要的模块。

        Module模块功能主要由两个命令构成:import 和 export。

        export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口,可以使用as对要输出的变量进行重命名。

        import用于在一个模块中加载另一个含有export接口的模块,可以使用as对引入的变量进行重命名。import命令具有提升效果,会提升到整个模块的头部,首先执行。如果多次重复执行同一句import语句,那么只会执行一次,而不会执行多次。

        也就是说使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)。

        export 和 export default 异同:

        1、二者均用于导出常量、函数、文件、模块等;

         2、你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用;

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

        4、通过export方式导出,在导入时要加{ },export default则不需要。

        5、在用import引入时,如果是用export方法定义的导出,必须要知道指定的变量名。而如果使用export default定义的时候,import可以起任意的名字,这里可以理解为,用export default声明导出模块时,自动生成了一个叫default的变量,当使用import命令导入时,会自动将这个defualt变量赋值给声明的变量中。这也就解释了为什么export default仅有一个。注:export default命令其实只是输出一个叫做default的变量,所以它后面不能跟变量声明语句。

        import和export的复合写法:

        如果在一个模块之中,先输入后输出同一个模块,import语句可以与export语句写在一起。

        上面代码中,export和import语句可以结合在一起,写成一行。但需要注意的是,写成一行以后,foo和bar实际上并没有被导入当前模块,只是相当于对外转发了这两个接口,导致当前模块不能直接使用foo和bar。

相关文章

  • import和export的作用

    在es6标准发布之前,js是没有模块化的概念的,也就是说原生js是无法将一个大型程序拆分成若干相互依赖的小模块的。...

  • Es6 export和import的几种用法

    export和import的用法是对应的,如下: 1.export{} 和import{} 2.export co...

  • import 和 export

    import和export的产生主要是为了JS的模块化和按需引用 使用方法 export export标识符表示需...

  • export和import

    模块功能主要有两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用...

  • Export和import

    Es6的模块功能几乎所有人都在用,而且实现的非常简单,可以说成为了通用的模块方案。主要就到处模块export和导入...

  • import、export 和 export default

    ES6中 在JavaScript ES6中,export与export default均可用于导出常量、函数、文件...

  • export ,export default 和 import

    首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export...

  • export ,export default 和 import

    首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export...

  • export ,export default 和 import

    转自http://www.cnblogs.com/xiaotanke/p/7448383.html export,...

  • import、export 和 export default

    import引入一个依赖包,不需要相对路径。import 引入一个自己写的js文件,是需要相对路径的。 用expo...

网友评论

    本文标题:import和export的作用

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