在下面的代码块中,我试图获取用户输入并将其保存在json文件中。如果插入的项目已经存在于文件中,它将被拒绝。这里的问题是我的程序总是执行catch子句并生成一个空数组,尽管在某些情况下存在json文件并且可以读取它。
const fs = require('fs');
const loadFile = () => {
try{
const stringData = fs.readFileSync('note-data.json', 'utf8');
return [JSON.parse(stringData)];
} catch (e) {
return [];
}
};
const writeFile = (notes) => {
fs.writeFileSync('note-data.json', JSON.stringify(notes));
};
const addNote = (title, body) => {
let notes = loadFile();
const note = {
title,
body
}
console.log(notes);
const duplicateArray = notes.filter((note) => note.title === title);
console.log(duplicateArray);
if(duplicateArray.length === 0){
notes.push(note);
writeFile(notes);
}
};
命令行输入如下:
node app.js add --title=Greeting --body="hello"
node app.js add --title=Greeting2 --body="hello2"
输出为:
[{"title":"Greeting","body":"hello"}]
输出应为:
[{"title":"Greeting","body":"hello"}, {"title":"Greeting2","body":"hello2"}]
我的问题是此错误发生在哪里?
答案 0 :(得分:0)
错别字?
@font-face {
font-family: myFirstFont;
src: url(sansation_light.woff);
}
不是文件“ note-data.json”吗?