现在Vue开发中每个vue文件中都会使用Export,而在ES6以前的js开发中是没有这些库的。在ES6前端要实现模块化需要借助第三方js库,而现在ES6自带模块化(在ES6中一个js文件代表一个js模块module),也是JS第一次支持module,可以直接用import和export在浏览器中导入和导出各个模块。本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
ES6,全称ECMAScript 6.0,是JavaScript 的下一个版本标准,2015.06 发版。ES6主要是为了解决ES5的先天不足,比如JavaScript里并没有类的概念,ECMA是国际化标准组织(European computer manufactures association,欧洲计算机制造联合会),1996年11月JavaScript的创造者网景公司将JS提交给希望这种语言能够成为国际标准,随后ECMA发布了规定浏览器脚本语言的标准,即ECMAScript。直到今天我们一开始接触的普通JS开发就是在学ECMAScript3.0版的语法。目前浏览器的JavaScript是ES5版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。浏览器对模块(module)支持程度不同, 目前都是使用babelJS, 或者Traceur把ES6代码转化为兼容ES5版本的js代码;本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
在ES6中,一个模块内部的所有变量外部无法获取。如果要让外部读取模块内部的变量,就必须使用export关键字输出变量。export与export default均可用于导出常量、函数、文件、模块等,在其它文件或模块中用import导入。本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
#Export命令用于规定模块的对外接口。 //web.js 使用export写法1 export var domainName = '04007.cn'; export var author = 'kermit'; //web.js 使用export写法2 var domainName = '04007.cn'; var author = 'kermit'; export {domainName, author};本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
上面示例了两种export写法,这两种写法是等价的。ES6将代码文件web.js视为一个模块,并用export命令对外部输出了2个变量。export命令除了输出变量,还可以输出函数或类(class)。可见export可以在一个文件中使用多次。在一个文件或模块中,export、import可以有多个,export default仅有一个。import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(web.js)对外接口的名称相同。如果想为输入的变量重新取一个名字,import命令要使用as关键字,将输入的变量重命名。本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
import { domainName as domain } from './web.js';本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
export default命令,为模块指定默认输出。与export命令的区别是其他模块加载该模块时,import命令可以为该匿名函数指定任意名字。这时就不需要知道原模块输出的函数名。这时import命令后面,不使用大括号。因为export default命令其实只是输出一个叫做default的变量,所以它后面不能跟变量声明语句。本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
//webobj.js export default { domainName:'04007.cn', author :'kermit', } //webobj.js引用直接使用随意命名为web import web from './webobj'; web.domainName //'04007.cn'本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
总结:export命令对外接口有名称且import命令从模块导入的变量名与被导入模块对外接口的名称相同。而export default命令对外输出的变量名是任意的,这时import命令后面,不使用大括号。export default命令用于指定模块的默认输出,export default命令只能使用一次。export可以使用多次。本文地址:http://www.04007.cn/article/1010.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1010.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |