在节点中,当我需要文件时,通常是默认情况下,来自节点模块导出的对象。
所以我想知道除了module.exports
的同步特性和fs
的异步特性之外,通过module.exports检索JSON文件之间的其他区别是什么?与文件系统库的优缺点优点缺点。谢谢!
file_1.js
module.exports = [{A-JSON}];
file_2.js
require json from ('./file_1');
console.log(json);
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);
});
答案 0 :(得分:1)
首先,您应该知道require
也可以用于加载json文件-如记录的here所示。
因此,在第二种情况下,只需将其重命名为file_1.json
,就可以使用require。
在这种情况下,如果您使用fs
,则需要手动JSON.parse
,而require
会自动为您完成文件。
另一个区别是require
系统使用缓存,因此,如果要在另一个文件中使用相同的对象,它将不再从文件系统中读取
我认为最好遵循标准并尽可能使用require
。