1、export、import命令

模块功能主要由两个命令构成:exportimportexport命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。

2、整体加载

下面是一个circle.js文件,它输出两个方法areacircumference

export function area(radius) {return Math.PI * radius * radius;
}export function circumference(radius) {return 2 * Math.PI * radius;
}

加载模块

// main.jsimport { area, circumference } from './circle';console.log('圆面积:' + area(4));
console.log('圆周长:' + circumference(14));

上面写法是逐一指定要加载的方法,整体加载的写法如下。

import * as circle from './circle';console.log('圆面积:' + circle.area(4));
console.log('圆周长:' + circle.circumference(14));

注意,模块整体加载所在的那个对象(上例是circle),应该是可以静态分析的,所以不允许运行时改变。下面的写法都是不允许的。

import * as circle from './circle';// 下面两行都是不允许的
circle.foo = 'hello';
circle.area = function () {};

3、export default命令默认输出

export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export default命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能唯一对应export default命令。

4、运行时加载模块

const path = './' + fileName;
const myModual = require(path);
//import()可以放在if代码块,根据不同的情况,加载不同的模块。
if (condition) {import('moduleA').then(...);
} else {import('moduleB').then(...);
}

es6阮一峰-import、export学习相关推荐

  1. ES6阮一峰-----变量的解构赋值学习

    1.数组的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = ...

  2. es6阮一峰学习--let 和 const 命令

    1.let 命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. {let a = 10;var b = 1; }a // ...

  3. 【阮一峰博客学习记录1】追踪用户点击

    使用普通异步的方式发送用户点击日志会不成功,使用同步的方式发送会导致网页延迟.所以有了这个API--navigator.sendBeacon() 作用与优势 就算是关闭浏览器的操作,都可以腾出时间进行 ...

  4. ES6 标准入门(第二版)阮一峰学习

    现在前端环境中,每一位程序员都要求熟练ES6语法,但是大部分ES6的文档都不太完整,接下来的时间,我将为童鞋们分享阮一峰老师第二版的ES6标准.让我们一起来学习一下!!! 本期先说一下学习的目录 1: ...

  5. 阮一峰ES6入门读书笔记(十六):Moudle

    阮一峰ES6入门读书笔记(十六):Moudle 在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种.前者用于服务器,后者用于浏览器.ES6 在语言标准的层面上 ...

  6. js -- ES6(一)-- 简介(根据阮一峰ES6标准入门整理)

    目前正在学习ES6,根据阮一峰的ES6入门2,学到哪更新到哪里,都是基本的知识,复杂的目前还不会,涉及的代码都是亲自运行过的,若发现错误请指正. ES6 提供了许多新特性,但是并不是所有的浏览器都能够 ...

  7. 阮一峰es6电子书_ES6理解进阶【大前端高薪训练营】

    一:面向对象:类class 面向对象三大特性之封装 封装是面向对象的重要原则,它在代码中的体现主要是以下两点: 封装整体:把对象的属性和行为封装为一个整体,其中内部成员可以分为静态成员(也叫类成员)和 ...

  8. AMD、CMD、CommonJS、ES6(import/export)

    AMD.CMD.CommonJS.ES6(import/export) AMD.CMD.CommonJS是ES5模块化解决方案 AMD -- 异步模块 Asynchronous Module Defi ...

  9. JavaScript 中的 require / exports、import / export、浅谈JavaScript、ES5、ES6

    Node.js 的基础教学 之 exports 和 module.exports:https://zhuanlan.zhihu.com/p/82057593 浅谈 JavaScript.ES5.ES6 ...

  10. 阮一峰 / ES6 数组的解构赋值

    目录 一.定义 二.详情讲解 1.数组解构:数组解构时数组的元素是按次序排列的,变量的取值由它的位置决定 2.对象解构:对象解构时对象的属性没有次序,变量必须与属性同名,才能取到正确的值. 三.用途 ...

最新文章

  1. 腾讯 Robotics X 实验室首次「开箱」移动机器人,能走梅花桩,还能自平衡
  2. 远程连接——Win连接远程Linux的软件
  3. 洛谷P4383 林克卡特树
  4. burp suite 二级域名扫描插件
  5. 计算机四级计算机组成与接口总结,计算机等级测验四级计算机组成与接口.docx...
  6. 20201125:力扣第216场周赛(下)
  7. 工厂方法模式java实例,设计模式之工厂方法模式实例(Java)
  8. (转)浅说深度学习:核心概念
  9. java 1.8 64_JDK 1.8 64位 下载 安装 配置
  10. Creo 6.0软件安装教程|兼容WIN10
  11. Java Web-----轮播图的实现
  12. Hi Developer,您有一份来自华为云学院的微服务开发攻略请查收
  13. 【Jquery练习】tab栏切换
  14. ipv6如何测试服务器已经是ipv6协议,怎么测试域名是否支持ipv6
  15. 服务器tomcat成功运行但是无法在外网访问的解决办法
  16. 工具技巧和读文档 | 读函数式编程接口文档 | 匿名内部类 | lambda表达式 |IDEA
  17. ettercap局域网内DNS欺骗(隔壁的哥们轻一点 ...)
  18. 阿里云服务器上面关闭tomcat报错
  19. eNSP之IPsec 虚拟专用网配置
  20. abaqus html安装,abaqus 2016安装错误

热门文章

  1. 计算机毕业设计ssm基于vue的健康餐饮管理系统的设计与实现
  2. windows10自带的截图、录屏快捷键
  3. Android Studio Entry name *.xml collided解决方案
  4. c语言中难度程序,c语言自学难度高么
  5. python入门心得_python学习心得:如何入门
  6. 期货反向跟单这个模式、大家目前都耳熟能详,操作原理也算是人尽皆知了!
  7. 【Squoosh】谷歌开源在线图片压缩工具
  8. 模糊控制洗衣机c语言程序,模糊控制洗衣机
  9. redis安装之yum安装
  10. bootstrap datetimepicker 日期插件