实战:基于Node的控制台记事本开发

文章介绍了用于管理与检索技术文档的脚本,包括创建、查询、删除记录以及搜索功能,强调了学习笔记分享和前端技术(HTML5、CSS3、JavaScript和Vue)的应用。
摘要由CSDN通过智能技术生成

throw err;

}

})

}

});

});

}

/**

  • 全体查询

*/

function searchAllFiles() {

getAllFiles(files => {

let length = files.length;

for (let i = length - 1; i >= 0; i–) {

console.log(文件${length - i}:${files[i]})

}

choice();

})

}

/**

  • 关键词查询

*/

function searchAllFilesTitle() {

getAllFiles(files => {

let length = files.length;

for (let i = length - 1; i >= 0; i–) {

fs.readFile(filesPath + /${files[i]}, (err, data) => {

if (!err) {

let dataString = data.toString();

let dataJson = JSON.parse(dataString);

console.log(文件${length - i}名称,${files[i]},标题:${dataJson.title})

}

if (i === 0) {

choice();

}

});

}

})

}

/**

  • 根据序号查询记录的详细内容

  • @param order 序号

*/

function searchFileContent(order) {

getAllFiles(files => {

let length = files.length;

fs.readFile(filesPath + /${files[length - order]}, (err, data) => {

if (!err) {

let dataString = data.toString();

let dataJson = JSON.parse(dataString);

console.log(文件${length - order}名称,${files[length - order]},详细内容:${dataJson.content})

choice();

} else {

choice();

}

});

})

}

/**

  • 根据序号删除记录

  • @param order 序号

*/

function deleteFile(order) {

getAllFiles(files => {

let length = files.length;

fs.unlink(filesPath + /${files[length - order]}, (err, data) => {

if (!err) {

console.log(文件${files[length - order]}删除成功!)

choice()

} else {

choice()

}

});

})

}

/**

  • 退出程序

*/

function exit() {

console.clear();

console.log(‘欢迎下次使用’);

process.exit()

}

/**

  • 显示菜单

*/

function showMenu() {

// 1. 清空控制台

console.clear();

process.stdout.write(‘\033[2J’);

process.stdout.write(‘\n’);

// 2. 输入选择条件

console.log(

`********************************

请输入操作名称

C:记录创建

S:全体查询

K:关键字查询

T:查询记录的详细内容

D:删除记录

E:退出记事本应用

*********************************`);

const rl = readline.createInterface({

input: process.stdin,

output: process.stdout

});

rl.question(‘请选择你的操作:’, answer => {

switch (answer.toUpperCase()) {

case ‘C’:

console.clear();

createFile();

break;

case ‘S’:

searchAllFiles();

break;

case ‘K’:

searchAllFilesTitle();

break;

case ‘T’:

readLine(‘输入格式:v1.请输入查询内容:’, answer => {

searchFileContent(Number(answer.substring(1)));

})

break;

case ‘D’:

readLine(‘输入格式:d1.请输入查询内容:’, answer => {

deleteFile(Number(answer.substring(1)));

})

break;

case ‘E’:

exit();

break;

}

})

}

showMenu()

[

新人创作打卡挑战赛
发博客就能抽奖!定制产品红包拿不停!
](https://blogdev.blog.csdn.net/article/details/124124117?utm_campaign=marketingcard&utm_source=KaiSarH&utm_content=111769723)

总结

根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

这里分享一些前端学习笔记:

  • html5 / css3 学习笔记

  • JavaScript 学习笔记

  • Vue 学习笔记

tml5 / css3 学习笔记**

  • JavaScript 学习笔记

  • Vue 学习笔记

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值