首页 >web前端 >js教程 >了解node.js中的模块。

了解node.js中的模块。

William Shakespeare
William Shakespeare原创
2025-02-09 08:53:11879浏览

Understanding module.exports and exports in Node.js

Node.js模块是独立的代码单元,可促进可重复使用性并简化应用程序开发。 本文使用commonjs格式(node.js标准。

密钥概念:

Node.js中的模块化开发:模块对于构建有效,可维护和可重复使用的node.js应用程序至关重要。

    commonjs模块格式:
  • 本文重点介绍commonjs格式(),在node.js和npm生态系统中普遍存在。 存在其他格式(AMD,ESM,System.Register,UMD),但在此不涵盖。
  • 导出和导入模块:有关创建,导出和利用模块的详细说明。 这包括使用用于默认导出的多个值,以及了解 vorsrequire>的细微差别。module.exports>。
  • node.js模块格式(简短概述):> module.exports>虽然JavaScript中存在各种模块格式,但本指南集中于commonjs,这是Node.js的标准。 其他格式包括:AMD(异步模块定义),ESM(ES模块),System.Register和UMD(通用模块定义)。 使用内置模块:module.exportsexports
  • Node.js提供可通过
>关键字访问的内置模块。例如,File System模块(

)提供了的功能,用于列出目录内容:>

commonjs模块同步加载,以其外观顺序处理。

创建和导出一个模块:> 让我们创建一个

>模块:

require 然后,将其导入到fs>:readdir>中

<code class="language-javascript">const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});</code>
>运行

>输出“用户:jim”。 可用于导入的

对象。

中的前缀指示一个本地文件;省略了文件扩展名。

导出多个项目: user.js

可以导出多种方法和值:
<code class="language-javascript">const getName = () => 'Jim';
exports.getName = getName;</code>
>

index.js>根据需要在

中使用它们。 请注意,导出的名称(此处
<code class="language-javascript">const user = require('./user');
console.log(`User: ${user.getName()}`);</code>
)可能与原始变量名称不同。

node index.js>替代导出语法:>> exports可以将导出定义为内联:getName ./ require

>破坏导入:

破坏允许选择性导入:

<code class="language-javascript">const getName = () => 'Jim';
const getLocation = () => 'Munich';
const dateOfBirth = '12.01.1982';

exports.getName = getName;
exports.getLocation = getLocation;
exports.dob = dateOfBirth;</code>
>使用

index.js dob的默认导出 对于导出单个实体的模块,

是优选的:>

<code class="language-javascript">const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});</code>

module.exports vs. exports>

最初是对exports的引用。 但是,直接重新分配module.exports替换整个导出对象。 最好的做法是始终使用module.exports避免出乎意料的行为。 module.exports

结论:

模块是有效node.js开发的基础。本文为理解和利用它们提供了坚实的基础。 有关更多详细信息,请咨询提供的资源。

FAQS:

提供的常见问题解答部分已经结构良好且内容丰富。 无需更改。

以上是了解node.js中的模块。的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn