ES6 (ECMAScript 6.0) 写法
//calculator.js
export default{
name:'calculator',
add:function(a,b){return a+b;}
};
//index.js
import calculator from './calculator.js';
const sum = calculator.add(2,3);
ES6引入npm包的方式:
import _ from 'lodash';
当webpack在打包的时候,解析到这一句,就会到node_modules中寻找lodash模块.
准确到加载的哪个文件呢?其实是npm模块的入口文件,他在模块的package.json中的main字段中定义.
针对命名导出的导入写法:
import (name,add as getSum) from './calculator.js';
针对默认导出的导入写法:
import calculator from './calculator.js';
他相当于
import {default as calculator} from './calculator.js';
命名和默认都存在的写法:
import react,{Component} from 'react';
ES6也是将每个文件作为单独的模块,用于自身的作用域.
export default {} 属于默认导出,且一个模块只能有一个,可以理解未对外输出一个名为
default
的变量;相较于 默认导出,命名导出,需要先声明再导出.