export命令import命令export { name1, name2, …, nameN };export { variable1 as name1, variable2 as name2, …, nameN };export let name1, name2, …, nameN; // also var, functionexport let name1 = …, name2 = …, …, nameN; // also var, constexport 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.jsexport default function () { console.log('foo');}// import-default.jsimport 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, functionexport let name1 = …, name2 = …, …, nameN; // also var, constexport 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.jsexport default function () { console.log('foo');}// import-default.jsimport 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使用区别