import
关键字来导入其他模块的功能,而export
关键字则用于将函数、对象或原始值从模块中导出,使它们可以在其他程序中被引用和使用。JavaScript 提供了多种方式来导入和导出模块,以便在不同的文件中共享代码,以下是一些常见的导入导出方法:
1. CommonJS (Node.js)
CommonJS 是 Node.js 中使用的模块系统,它使用require
函数来导入模块,并使用module.exports
或exports
对象来导出模块。
导出模块
// myModule.js const myFunction = () => { console.log('Hello from my module!'); }; module.exports = myFunction;
导入模块
// main.js const myFunction = require('./myModule'); myFunction(); // 输出: Hello from my module!
2. ES6 模块 (ESM)
ES6 模块是现代浏览器和 Node.js 支持的一种模块化方案,它使用import
语句来导入模块,并使用export
关键字来导出模块。
导出模块
// myModule.js export const myFunction = () => { console.log('Hello from my module!'); };
导入模块
// main.js import { myFunction } from './myModule'; myFunction(); // 输出: Hello from my module!
3. 动态导入 (ESM)
动态导入允许你在运行时加载模块,而不是在编译时,这对于按需加载代码或懒加载资源非常有用。
// main.js import('./myModule').then(myModule => { myModule.myFunction(); // 输出: Hello from my module! });
常见问题与解答
问题1: CommonJS 和 ESM 之间有什么区别?
答案: CommonJS 主要用于 Node.js,而 ESM 是 ES6 的一部分,并在现代浏览器中得到了广泛支持,CommonJS 使用require
和module.exports
,而 ESM 使用import
和export
,ESM 支持静态导入和动态导入,而 CommonJS 只支持静态导入。
问题2: 如何在一个模块中导出多个功能?
答案: 你可以在一个模块中使用多个export
语句来导出多个功能。
// myModule.js export function functionOne() { /* ... */ } export function functionTwo() { /* ... */ }
在另一个文件中,你可以这样导入它们:
// main.js import { functionOne, functionTwo } from './myModule'; functionOne(); functionTwo();
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1030314.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复