Node.js module.exports与文件系统

时间:2019-03-16 18:08:47

标签: javascript node.js

在节点中,当我需要文件时,通常是默认情况下,来自节点模块导出的对象。

所以我想知道除了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);
});

1 个答案:

答案 0 :(得分:1)

首先,您应该知道require也可以用于加载json文件-如记录的here所示。

因此,在第二种情况下,只需将其重命名为file_1.json,就可以使用require。

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

另一个区别是require系统使用缓存,因此,如果要在另一个文件中使用相同的对象,它将不再从文件系统中读取

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