前言
在开始学习之前,我们想要告诉您的是,本文章是对阮一峰《ECMAScript6 入门》一书中 "Module" 章节的总结,如果您已掌握下面知识事项,则可跳过此环节直接进入题目练习
- 什么是模块化 ?
- import 命令和 export 命令分别有什么作用 ?
- 如何模块整体加载
- export default 命令有何作用 ?
如果您对某些部分有些遗忘,?? 已经为您准备好了!
学习链接
Module 的学习
汇总总结
什么是模块化
历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来
ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。
模块功能主要由两个命令构成:export 和 import。export 命令用于规定模块的对外接口,import 命令用于输入其他模块提供的功能。
export 命令
- 输出变量
上面代码是 profile.js 文件,保存了用户信息。ES6 将其视为一个模块,里面用 export 命令对外部输出了三个变量。
- 输出函数或类(class)
import 命令
- 如果想为输入的变量重新取一个名字,import 命令要使用 as 关键字,将输入的变量重命名。
- import 命令输入的变量都是只读的,不允许在加载模块的脚本里面,改写接口。
- import 后面的 from 指定模块文件的位置,可以是相对路径,也可以是绝对路径。如果不带有路径,只是一个模块名,那么必须有配置文件,告诉 JavaScript 引擎该模块的位置。
- import 命令具有提升效果,会提升到整个模块的头部,首先执行。
模块的整体加载
export default 命令
上面代码是一个模块文件 export-default.js,它的默认输出是一个函数。其他模块加载该模块时,import 命令可以为该匿名函数指定任意名字。
题目自测
一:关于 ES6 的 module 模块,下列说法错误的是?
- A: 可以有效解决大型系统文件复杂的依赖问题
- B: 使用 export 语句可以选择性地向外部暴露自己的属性或者方法
- C: 使用 import 语句导入其他模块的属性或者方法
- D: 目前大部分主流浏览器都支持 module 模块
Answer
Answer: D
二:以下代码输出结果为()
- A:
{ default: function default(), name: "Lydia" }
- B:
{ default: function default() }
- C:
{ default: "Hello world", name: "Lydia" }
- D:
Global object of module.js
Answer
Answer: A
使用import*
作为名称语法,我们从module.js
归档到index.js
将创建名为 data 的新对象文件。在module.js
文件有两个导出:默认导出和命名导出。默认导出是一个函数,它返回字符串“helloworld”
,命名的导出是一个名为name
的变量,该变量的值为字符串“Lydia”
。
数据对象具有默认导出的默认属性,其他属性具有命名导出的名称及其相应值。
三:简述 export 和 export default 的区别
Answer
export default
的对象、变量、函数、类,可以没有名字。export
的必须有名字 export default
在一个模块中只能有一个,当然也可以没有。export
在一个模块中可以有多个 export default
对应的import
和export
有所区别:有default
的导入不需要{}
ES 6 系列的 Module,我们到这里结束啦,谢谢各位对作者的支持!你们的关注和点赞,将会是我们前进的最强动力!谢谢大家!
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!