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 = 1;

// 正确
var a = 1;
export default a;

// 错误
export default var a = 1;

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 主要为导出实例化对象。

 

posted @ 2017-01-06 16:21  rengised  阅读(229)  评论(0编辑  收藏  举报