ES6模块功能

Posted 一星一辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6模块功能相关的知识,希望对你有一定的参考价值。

ES6模块功能

  • 模块功能主要由两个命令构成:exportimport
  • export命令用于规定模块外的其他模块可以访问的接口,import命令用于输入其他模块提供的功能。

export

export var firstName = \'Michael\';
  • 每个个模块就是一个独立的文件。
  • 该文件内部的所有变量,外部无法获取。
  • 如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。
  • export命令除了输出变量,还可以输出函数或类(class)
  • export输出的变量就是本来的名字,但是可以使用as关键字重命名。

import

import { myMethod } from \'util\';

(1)按需加载。

import()可以在需要的时候,再加载某个模块。

button.addEventListener(\'click\', event => {
  import(\'./dialogBox.js\')
  .then(dialogBox => {
    dialogBox.open();
  })
  .catch(error => {
    /* Error handling */
  })
});

上面代码中,import()方法放在click事件的监听函数之中,只有用户点击了按钮,才会加载这个模块。

(2)条件加载

import()可以放在if代码块,根据不同的情况,加载不同的模块。

if (condition) {
  import(\'moduleA\').then(...);
} else {
  import(\'moduleB\').then(...);
}

上面代码中,如果满足条件,就加载模块 A,否则加载模块 B。

(3)动态的模块路径

import()允许模块路径动态生成。

import(f())
.then(...);

上面代码中,根据函数f的返回结果,加载不同的模块。

[学习地址](Module 的语法 - ECMAScript 6入门 (ruanyifeng.com))

以上是关于ES6模块功能的主要内容,如果未能解决你的问题,请参考以下文章

ES6躬行记——代码模块化

es6+最佳入门实践(13)

React 16 - ES6 - Webpack - 错误:模块不是加载器(必须具有正常或俯仰功能)

vue05-es6模块化和webpack

ES6模块功能

ES6-模块化