构造包含项目字典的javascript对象

时间:2018-12-05 20:51:25

标签: javascript json

我(重新)编写了一个脚本,该脚本生成一个包含项目字典的javascript对象。

它以以下格式生成输出

{"Item":158567,"Crumb":23525076,"Utilities":62648}

但是,我的初始脚本(我似乎已经丢失了)以这种格式生成了输出,对我来说更有用。

{"sizes":{"Item":158567,"Crumb":23525076,"Utilities":62648}}

如何修改以下脚本以便能够获得此输出?唯一的不同是,我希望“大小”一词会出现

var fs = require('fs');

var path = '../apps/test-app/dist';
var sizes = {};
var outputFilePath = '../apps/test-app/dist/sizes.json';

fs.readdir(path, function(err, items) {
  for (var i = 0; i < items.length; i++) {
    var file = path + '/' + items[i];

    const isJavascriptFile = items[i].match(/.js$/);
    if (isJavascriptFile) {
      var fileName = getComponentName(items[i]);
      var fileSize = getFilesizeInBytes(file);
      sizes[fileName] = fileSize;
    }
  }

  fs.writeFileSync(outputFilePath, JSON.stringify(sizes));
});

function getFilesizeInBytes(fileName) {
  const stats = fs.statSync(fileName);
  const fileSizeInBytes = stats.size;
  return fileSizeInBytes;
}

function getComponentName(fileName) {
  return fileName.match('ui-(.*).min.js')[1];
}

1 个答案:

答案 0 :(得分:0)

更改行:

fs.writeFileSync(outputFilePath, JSON.stringify(sizes));

fs.writeFileSync(outputFilePath, JSON.stringify({ sizes }));

请注意sizes

附近的 {}