es6 import export 与 node 中的module.exports exports

1.export

  a.export 变量

export var name = 'jack';
export var age = 18;
//等同于
var name = 'jack';
var age = 18;
export {name,age};

  a.export 方法

export function sayHello(){
console.log('hello world!');
} //等同于
function sayHello(){
console.log('hello world!');
} export {sayHello};

2.import 

  import 与 export 正好相反;

import {name,age} from './exportTest.js';

console.log(name);
console.log(age); import {sayHello} from './exportTest.js'; sayHello();

3.default

默认导出的模块,每个js文件中只能有一个export default 。

正是因为export default命令其实只是输出一个叫做default的变量,所以它后面不能跟变量声明语句。

// 正确
export var a = ; // 正确
var a = ;
export default a; // 错误
export default var a = ;

export  default 可以导出一个方法:

export default function test() {
this.name = "jack";
};

由于export default,在import 的时候可以为其指定任意名字,因为default 本身是匿名的。

//正确
import test from './exportTest.js'; //正确
import myTest from './exportTest.js'; //正确
import hello from './exportTest.js';

4. module.exports 与 exports

module.exports ,exports 为node.js 的方法, module.exports 重要用于导出 function Parent(){}  这种构造函数,在require中可以直接new 该对象;

exports 主要为导出实例化对象。

上一篇:关于es6 import export的学习随笔


下一篇:在Maven中新增自定的jar包