JavaScript 模块允许开发人员将代码分解为可重用和可维护的片段。模块封装代码并提供一种在应用程序的不同文件和部分之间共享代码的方法。
模块是一个 JavaScript 文件,它导出代码(例如变量、函数、类)并可以从其他模块导入代码。
JavaScript 在 ES6 (ES2015) 中引入了原生模块支持。这些现在已得到现代浏览器和 Node.js 的广泛支持。
您可以使用export导出代码。
// math.js export const add = (a, b) => a + b; export const subtract = (a, b) => a - b;
// greet.js export default function greet(name) { console.log(`Hello, ${name}!`); }
您可以使用 import 导入代码。
import { add, subtract } from './math.js'; console.log(add(5, 3)); // 8 console.log(subtract(5, 3)); // 2
import greet from './greet.js'; greet('Alice'); // Hello, Alice!
import { add as addition } from './math.js'; console.log(addition(5, 3)); // 8
import * as MathOperations from './math.js'; console.log(MathOperations.add(5, 3)); // 8 console.log(MathOperations.subtract(5, 3)); // 2
动态导入允许延迟加载模块,即仅在需要时加载。这可以提高性能。
import('./math.js').then((MathOperations) => { console.log(MathOperations.add(5, 3)); // 8 });
async function loadModule() { const MathOperations = await import('./math.js'); console.log(MathOperations.add(5, 3)); // 8 } loadModule();
Node.js 传统上使用 CommonJS 模块系统。它使用 require 导入模块并使用 module.exports 导出它们。
// math.js export const add = (a, b) => a + b; export const subtract = (a, b) => a - b;
// greet.js export default function greet(name) { console.log(`Hello, ${name}!`); }
Feature | ES6 Modules | CommonJS |
---|---|---|
Syntax | import/export | require/module.exports |
Loading | Static | Dynamic |
Use Case | Modern JavaScript (Browsers, Node.js) | Primarily Node.js |
Default Export | Supported | Not explicitly supported |
使用模块时,Webpack、Rollup 或 Parcel 等打包器可以将模块打包到单个文件中进行部署。
import { add, subtract } from './math.js'; console.log(add(5, 3)); // 8 console.log(subtract(5, 3)); // 2
import greet from './greet.js'; greet('Alice'); // Hello, Alice!
群组相关代码:
避免循环依赖:
尽可能延迟加载:
JavaScript 模块对于创建可扩展、可维护且高效的应用程序至关重要。
嗨,我是 Abhay Singh Kathayat!
我是一名全栈开发人员,拥有前端和后端技术方面的专业知识。我使用各种编程语言和框架来构建高效、可扩展且用户友好的应用程序。
请随时通过我的商务电子邮件与我联系:kaashshorts28@gmail.com。
以上是了解 JavaScript 模块:轻松导出和导入代码的详细内容。更多信息请关注PHP中文网其他相关文章!