Copy export { name1 , name2 , … , nameN };
export { variable1 as name1 , variable2 as name2 , … , nameN };
export let name1 , name2 , … , nameN; // 也可以是 var
export let name1 = … , name2 = … , … , nameN; // 也可以是 var, const
export default expression;
export default function (…) { … } // 也可以是 class, function*
export default function name1 (…) { … } // 也可以是 class, function*
export { name1 as default , … };
Copy //方法:
export * from …;
export { name1 , name2 , … , nameN } from …;
export { import1 as name1 , import2 as name2 , … , nameN } from …;
//例子:
// module.js
const PI = 3.14 ;
const value = 42 ;
export const table = {foo : 'bar' };
export function hello () {};
// main.js
export * from './module' ;
export {hello} from './module' ;
export {hello as foo} from './module' ;
Copy export { myFunction }; // 导出一个函数声明
export const foo = Math .sqrt ( 2 ); // 导出一个常量
Copy // module "my-module.js"
export function cube (x) {
return x * x * x;
}
const foo = Math . PI + Math . SQRT2 ;
export { foo };
Copy import { cube , foo } from 'my-module.js' ;
console .log ( cube ( 3 )); // 27
console .log (foo); // 4.555806215962888
Copy export default myFunctionOrClass
// 这里没有分号
Copy // module "my-module.js"
let cube = function cube (x) {
return x * x * x;
}
export default cube;
Copy // module "my-module.js"
import myFunction from 'my-module' ;
console .log ( myFunction ( 3 )); // 27
Copy import * as name from 'src/lodash' ; // 引入外部文件所有对象
//可以使用name.module引用导出的所有模块中的某个
import { each , map } from 'src/lodash' ; // 引入外部文件部分对象
import name from 'src/lodash' ; // 引入外部文件默认导出对象
import name , { each , map } from 'src/lodash' ; // 同时引入默认导出对象和部分对象
import 'src/lodash' ; // 只加载外部文件,但啥都不引入
Copy import myModule from "my-module.js" ;
Copy import {myMember} from "my-module.js" ;
import {foo , bar} from "my-module.js" ;
import myDefault , {foo , bar} from "my-module.js"
//即my-module.js中的代码为:
... ; export foo; export bar; export default myDefault;
//导入成员并指定一个方便的别名。
import {reallyReallyLongModuleMemberName as shortName} from "my-module.js" ;