乐趣区

关于javascript:export-export-default-和-import-区别-以及用法

首先要晓得 export,import,export default 是什么

ES6 模块次要有两个性能:export 和 import
export 用于对外输入本模块(一个文件能够了解为一个模块)变量的接口
import 用于在一个模块中加载另一个含有 export 接口的模块。
也就是说应用 export 命令定义了模块的对外接口当前,其余 JS 文件就能够通过 import 命令加载这个模块(文件)。这几个都是 ES6 的语法。

export 和 import(一个导出一个导入)

一个 a.js 文件有如下代码:

export var name="李四";

在其它文件里援用如下:

import {name} from "/.a.js" // 门路依据你的理论状况填写
export default {data () {return {}
  },
  created:function(){alert(name)// 能够弹出来“李四”}
 }

下面的例子是导出单个变量的写法,如果是导出多个变量就应该依照下边的办法,用大括号包裹着须要导出的变量:

 var name1="李四";
 var name2="张三";
 export {name1 ,name2}

在其余文件里援用如下:

import {name1 , name2} from "/.a.js" // 门路依据你的理论状况填写
export default {data () {return {}
  },
  created:function(){alert(name1)// 能够弹出来“李四”alert(name2)// 能够弹出来“张三”}
 }

如果导出的是个函数呢,那应该怎么用呢, 其实一样,如下

function add(x,y){alert(x*y)
  // 想一想如果这里是个返回值比方:return x-y,下边的函数怎么援用
}
export {add}

在其余文件里援用如下:

import {add} from "/.a.js" // 门路依据你的理论状况填写
export default {data () {return {}
  },
  created:function(){add(4,6) // 弹出来 24
 }
 }

export 与 export default

总结:
>  export 与 export default 均可用于导出常量、函数、文件、模块等
> 能够在其它文件或模块中通过 import+(常量 | 函数 | 文件 | 模块)名的形式,将其导入,以便可能对其进行应用
> export default 前面不能跟 const 或 let 的关键词
> export、import 能够有多个,export default 仅有一个。> 通过 export 形式导出,在导入时要加 { },export default 则不须要
> export 具名导出 xxx,export default 匿名。区别在于导入的时候,export 须要一样的名称能力匹配,后者无论取什么名都能够。> 模块化治理中一个文件就是一个模块,export 能够导出多个办法和变量,export default 只能导出以后模块,一个 js 文件中只反对呈现一个


var name="李四";
export {name}
//import {name} from "/.a.js" 
能够写成:var name="李四";
export default name
//import name from "/.a.js" 这里 name 不须要大括号

再看第 3 条,在一个文件或模块中,export、import 能够有多个,export default 仅有一个,也就是说如下代码:

var name1="李四";
var name2="张三";
export {name1 ,name2}

也能够写成如下,也是能够的,import 跟他相似。

 var name1="李四";
 var name2="张三";
 export name1;
 export name2;
退出移动版