javascript - 构造包含项目字典的javascript对象
问题描述
我(重新)编写了一个脚本,该脚本生成一个包含项目字典的 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];
}
解决方案
换行:
fs.writeFileSync(outputFilePath, JSON.stringify(sizes));
至
fs.writeFileSync(outputFilePath, JSON.stringify({ sizes }));
注意周围的{ }sizes
推荐阅读
- apache-spark - Apache Spark 与 MapReduce
- powershell - 当我尝试在 Azure Run 书籍中导入 AzureRM 模块时,“确定”按钮未启用
- angular - 在 OAUTH 隐式流中使用隐藏 iFrame 刷新令牌时出现 ClickJacking 威胁
- automation - 如何通过 autohotkey 使用自动化 netbeans ide 格式化我的 java 代码?
- scala - sbt 子项目源文件夹没有自动创建?
- outlook - 异步\后台方法执行 C#, Outlook VSTO 插件
- python - 使用 minidom 进行 XHTML 解析
- c++ - 为什么 std::move 适用于常量对象
- google-cloud-platform - 如何获取图像系列中未使用的图像列表
- cassandra - Cassandra中多个DC的自动故障转移?