我想在存储在 /data/projects.js (或 .json 取决于问题的答案)中的 server.js 文件中加载一些数据。
我看到两种可能性:
使用 readFileSync:
function readJsonFileSync() { var file = fs.readFileSync(__dirname + '/data/projects.json', 'utf8'); return JSON.parse(file); }
和 projects.json 是一个传统的 json 文件
使用要求:
function readJsonFileReq() { return require('./data/projects.js')['projects'] ; }
与 projects.js 包含:
exports.projects = { // My variable };
问题是哪一个是最好的:
- 在性能方面?
- 在节点可写性/哲学方面?(例如 require() 为模块保留)
我猜解决方案 2 更好,因为 require() 可能针对读取 JS 代码进行了优化,而解决方案 1 必须读取文件,然后解析它,但解析它可能比执行它便宜。