在es6之前,javascript并没有对模块做出任何定义,于是先驱者们创造了各种各样的规范来完成这个任务。现在来看看它是如何定义的。
//hello.js文件
//定义一个命名为hello的函数
function hello(){
console.log('hello es6');
}
//使用exports导出这个模块
export hello;
//main.js文件
//使用import加载这个模块
import { hello } from './hello' ;
hello() ;
//hello es6;
上面的代码就完成了模块的一个最简单的例子,使用import和export关键字完成模块的导入和导出。当然也可以完成一个模块的多个导出,请看如下例子:
//hello.js文件
export const PI = 3.14;
export function hello(){
console.log('hello es6');
}
export let person = {name : 'viking'};
//main.js文件
//使用对象解构赋值加载这3个变量
import {PI, hello , person} from './hello' ;
//也可以将这个模块全部导出
import * as util from './hello';
console.log(util.PI);
//3.14;
还可以使用default关键字来实现模块的默认导出
//hello.js文件
export default function(){
console.log('hello es6');
}
//main.js文件
import hello from './hello' ;
hello() ;
//hello es6;