ES6 模块化规范
Posted code-duck
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 模块化规范相关的知识,希望对你有一定的参考价值。
ES6 模块化规范
ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,旨在成为浏览器和服务器通用的模块解决方案。
其模块功能主要由两个命令构成:export 和 import。
-
export 命令用于规定模块的对外接口
-
import 命令用于输入其他模块提供的功能
/** 定义模块 math.js **/
var basicNum = 0;
var add = function (a, b) {
return a + b;
};
/* 暴露basicNum变量和add方法*/
export { basicNum, add };
/** 引用模块 可省略.js **/
import { basicNum, add } from ‘./math.js‘;
function test(ele) {
ele.textContent = add(99 + basicNum);
}
使用import命令的时候,用户需要知道所要加载的变量名或函数名
其实ES6还提供了export default命令,为模块指定默认输出,对应的import语句不需要使用大括号
/** export default **/
//定义输出
export default { basicNum, add };
//引入
import math from ‘./math‘;
function test(ele) {
ele.textContent = math.add(99 + math.basicNum);
}
ES6的模块不是对象,import命令会被 javascript 引擎静态分析,在编译时就引入模块代码,而不是在代码运行时加载,所以无法实现条件加载。也正因为这个,使得静态分析成为可能。
以上是关于ES6 模块化规范的主要内容,如果未能解决你的问题,请参考以下文章
JS模块导入导出规范-CommonJS | ES6 -规范案例