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