三、模块导出的写法
默认导出
在JavaScript中,可以使用export default
关键字来导出一个默认成员。默认导出只能有一个。
例如:
// 默认导出 export default function myFunction() { // ... } // 或者 const myConstant = 'some value'; export default myConstant;
要导入默认导出,可以使用import
语句,不需要使用大括号。
例如:
// 导入默认导出 import myFunction from './my-module.js'; // 或者 import myConstant from './my-module.js';
在导入默认导出时,如果使用了import
语句,但对应的模块没有默认导出,或者使用了错误的名称,那么在运行时会出现ReferenceError
错误。
行内命名导出
在JavaScript中,可以使用export
关键字为模块中的成员指定一个名称,这样在导入时就可以使用这个名称来访问该成员。
例如:
// 行内命名导出 export function myFunction() { // ... } // 或者 const myConstant = 'some value'; export {myConstant as myConstantName};
在导入时,可以使用as
关键字来使用原始名称或自定义名称导入成员。
例如:
// 使用原始名称导入 import {myFunction} from './my-module.js'; // 使用自定义名称导入 import {myFunction as fn} from './my-module.js'; // 使用自定义名称导入并使用别名 import {myConstantName as myConstant} from './my-module.js';
在导入时,如果使用了import
语句,但对应的模块没有导出该成员,或者使用了错误的名称,那么在运行时会出现ReferenceError
错误。
通过一个 export 子句批量命名导出
在JavaScript中,可以使用export
关键字在一个语句中批量命名导出多个成员。
例如:
// 批量命名导出 export {myFunction, myConstant as constantName};
在导入时,可以使用import
语句,并在大括号中使用原始名称或自定义名称导入成员。
例如:
// 使用原始名称导入 import {myFunction, myConstant} from './my-module.js'; // 使用自定义名称导入 import {myFunction as fn, myConstant as constant} from './my-module.js';
在导入时,如果使用了import
语句,但对应的模块没有导出该成员,或者使用了错误的名称,那么在运行时会出现ReferenceError
错误。
重新导出
在JavaScript中,可以使用export
关键字将一个模块中导出的成员重新导出。
例如:
// 原始模块 export function myFunction() { // ... } // 重新导出 export {myFunction} from './original-module.js';
或者:
// 原始模块 export function myFunction() { // ... } // 重新导出并命名 export {myFunction as myFunctionName} from './original-module.js';
在导入时,可以使用import
语句,就像导入原始模块中的成员一样。
例如:
// 导入重新导出的成员 import {myFunction} from './re-exported-module.js'; // 或者 import {myFunction as fn} from './re-exported-module.js';
在导入时,如果使用了import
语句,但对应的模块没有导出该成员,或者使用了错误的名称,那么在运行时会出现ReferenceError
错误。
注意,重新导出不会影响原始模块中的成员,它们在原始模块中仍然存在。