85. 文件模块
文件模块 fs Node.js 全解
本节课目标: 创建一个基于文件的todo工具
需求
功能
可以列出所有的 todo 可以新增 todo 可以编辑 todo 可以删除todo 可以标记todo为已完成/未完成
命令
t
t add 任务名
t clearCRM 学习法
Copy 抄
Run运行
Modify改
这个项目会用到下面几个库
"commander"
"inquirer"
"winston"
devDependencies
"jest"初始化项目
init -y会创建一个package.json的文件
这里把版本号改成0.0.1
创建一个index.js的文件,里面输入
如何运行这行代码呢?
在node.js中,只需要运行node index即可。
安装commander.js
https://github.com/tj/commander.js
把index.js的内容替换成
.option
运行node index
运行node index -h, 就会看到下面的显示。
因此,.option就是用来声明有哪些选项的。-h是默认的。
.command
以下是输出
add
a+
Open file for reading and appending. The file is created if it does not exist.
命令行
查看.todo文件里有什么
删除文件
优化代码
node cli会打印出
安装inquirer
https://devdocs.io/node/fs#fsreadfilepath-options-callback
https://devdocs.io/node/fs#file-system-flags
https://devdocs.io/node/fs#fswritefilefile-data-options-callback
这节课很多优化代码的技巧可以学一下
技巧:把一堆代码取一个名字,然后单独拆分成函数写
项目代码没敲完,特别是最后优化那一部分。
作业:
请按照视频制作一个 node-todo 项目,把源代码上传到 GitHub,并给出运行成功的截图~
回顾
如何使用 return new Promise
如何使用 async await
什么时候 reject(error)什么时候不 reject(error)
如何使用 fs.readFile/ fs.writeFile
如何使用 logger
如何使用 commander
如何使用 module.exports
如何引入jest 测试
如何 mock fs
如何使用WebStorm 调试
如何使用--inspect-brk 调试
发布到 npm
修改 package.json
运行命令
注意要把淘宝源切换为原始源
如果提示出错,请自己把出错理解一下
npm publish
常见错误
你发布的包名跟线上包名重复,不允许发布,请改名
你用户名密码不匹配,请重置密码
你没有改版本号,不能重复发布同一版,请升级版本
其他问题自行Google
总结
不要看书学习
看了忘 没有留下任何痕迹 做笔记稍微好点)
动手学习
照着我的代码敲 (不允许复制粘贴)
学习调试方法
发现bug,学会自己debug
持续改进自己的作品 即使课堂上没讲)
下节课学习另一个模块
再见
最后更新于
这有帮助吗?