export命令import命令 export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, nameN }; export let name1, name2, …, nameN; // also var, function export let name1 = …, name2 = …, …, nameN; // also var, const export default expression; export default function (…) { … } // also class, function* export default function name1(…) { … } // also class, function* export { name1 as default, … }; export * from …; export { name1, name2, …, nameN } from …; export { import1 as name1, import2 as name2, …, nameN } from …; export命令 注意事项 1.使用export default命令,默认输出时,important命令可以为该匿名函数指定任意名字 // export-default.js export default function () { console.log('foo'); } // import-default.js import customName from './export-default'; 2.使用export default时,对应的import语句不需要使用大括号否则对应的import语句需要使用大括号 // 第一组 export default function crc32() { // 输出 // ... } import crc32 from 'crc32'; // 输入 // 第二组 export function crc32() { // 输出 // ... }; import {crc32} from 'crc32'; // 输入 3.export defaut后面不能跟变量声明语句,因为export default命令的本质是将后面的值,赋给default变量,所以可以直接将一个值写在export default之后。 // 正确 export var a = 1; // 正确 var a = 1; export default a; // 正确 export default 42; 4.export命令规定的是对外接口,必须与模块名字一 一对应,但是可以通过as关键字更名 //与模块变量的名字一 一对应 function v1() { ... } function v2() { ... } export { v1 as streamV1, v2 as streamV2, v2 as streamLatestVersion }; //正确写法 // 写法一 export var m = 1; // 写法二 var m = 1; export {m}; // 写法三 var n = 1; export {n as m}; smile轉角 【ES6】export和important使用区别 export命令 export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, nameN }; export let name1, name2, …, nameN; // also var, function export let name1 = …, name2 = …, …, nameN; // also var, const export default expression; export default function (…) { … } // also class, function* export default function name1(…) { … } // also class, function* export { name1 as default, … }; export * from …; export { name1, name2, …, nameN } from …; export { import1 as name1, import2 as name2, …, nameN } from …; export命令 注意事项 1.使用export default命令,默认输出时,important命令可以为该匿名函数指定任意名字 // export-default.js export default function () { console.log('foo'); } // import-default.js import customName from './export-default'; 2.使用export default时,对应的import语句不需要使用大括号否则对应的import语句需要使用大括号 复制代码 // 第一组 export default function crc32() { // 输出 // ... } import crc32 from 'crc32'; // 输入 // 第二组 export function crc32() { // 输出 // ... }; import {crc32} from 'crc32'; // 输入 复制代码 3.export defaut后面不能跟变量声明语句,因为export default命令的本质是将后面的值,赋给default变量,所以可以直接将一个值写在export default之后。 复制代码 // 正确 export var a = 1; // 正确 var a = 1; export default a; // 错误 export default var a = 1; // 正确 export default 42; // 报错 export 42; 复制代码 4.export命令规定的是对外接口,必须与模块名字一 一对应,但是可以通过as关键字更名 复制代码 //与模块变量的名字一 一对应 function v1() { ... } function v2() { ... } export { v1 as streamV1, v2 as streamV2, v2 as streamLatestVersion }; //对外接口 //错误写法 // 报错 export 1; // 报错 var m = 1; export m; //正确写法 // 写法一 export var m = 1; // 写法二 var m = 1; export {m}; // 写法三 var n = 1; export {n as m}; import命令 import defaultExport from "module-name"; import * as name from "module-name"; import { export } from "module-name"; import { export as alias } from "module-name"; import { export1 , export2 } from "module-name"; import { export1 , export2 as alias2 , [...] } from "module-name"; import defaultExport, { export [ , [...] ] } from "module-name"; import defaultExport, * as name from "module-name"; import "module-name"; 1.作用域提前 foo(); import { foo } from 'my_module'; 2.import命令是静态执行,不能使用表达式和变量
https://www.cnblogs.com/websmile/p/8204148.html export和important使用区别