javascript - Node.js module.exports 与文件系统

标签 javascript node.js

在 Node 中,当我需要一个文件时,它通常默认是一个来自 Node 模块导出的对象。

所以我想知道除了 module.exports 的同步特性和 fs 的异步特性之外,它们之间的其他区别是什么通过 module.exports 与文件系统库检索 JSON 文件,好/坏 |优点缺点。谢谢!

场景1

file_1.js

module.exports = [{A-JSON}];

file_2.js

require json from ('./file_1');
console.log(json);

场景2

file_1.js

[{A-JSON}]

file_2.js

fs = require('fs');
fs.readFile('./file_1', function (err,data) {
  if (err) {
    return console.log(err);
  }
  console.log(data);
});

最佳答案

首先,您应该知道 require 也可用于加载 json 文件 - 如文档所述 here .

因此,对于您的第二种情况,只需重命名为 file_1.json,您也可以使用 require。

在这种情况下,如果您使用 fs,您将需要手动JSON.parse 您的文件,而 require 会自动为你。

另一个区别是require系统使用缓存,这样如果你想在另一个文件中使用相同的对象,它不会从文件系统中再次读取

我认为最好遵循标准并尽可能使用 require

关于javascript - Node.js module.exports 与文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55199958/

相关文章:

javascript - 如何避免 aptana 将 getter 和 setter 检测为 JavaScript 中的错误?

node.js - 使用 hapijs 制作基本路由过滤器

javascript - 如何检索 EJS/node.js 中数据对象的属性?

javascript - "(By|Function)"在 Javascript 中是什么意思?

javascript - 如何将 javascript 函数的值传递给 Django View ?

php - Facebook access_token 无效

node.js - Nodejs 服务器迁移到云端后无法响应

node.js - 如何知道电脑的RAM总量?

javascript - 检查 node.js 中的实际文件类型

javascript - 获取数组中出现次数最多的项