Nodejs学习-文件模块

Nodejs学习-文件模块

Posted by limantang on November 16, 2019

Nodejs学习-文件模块

通过制作一个todolist命令行小工具来学习nodejs文件模块 虽然用到的文件模块API不多, 但是在这个过程中,还是有很大收获的

源码地址

GitHub - echoheart/node-todo-app

如果大家想体验一下这个命令行小工具😳 请使用yarn或者npm全局安装echo-todo-app这个包

npm i -g echo-todo-app 或者 yarn add global echo-todo-app

安装完成后输入todo命令就可以体验了 🤣(很简陋,但绝对可以满足你的todo要求😎)

下面就说说做这个小工具过程中的遇到的一些问题和一些收货

遇到的问题和坑

  • 获取home目录

在获取home目录的时候发现home目录可以是用用户通过环境变量去设置, 也可以是系统默认的位置,这两种方式获取到的home路径地址不一定统一 建议优先取环境变量里的home路径,这个符合用户的预期设置 process.env.HOME

  • 读文件

在读文件的时候,第一次读文件的时候,这个文件可能是不存在的, 后来发现可以通过readFile的第二个可选参数中的flag设置为a+即可, 这个的意思是如果此文件不存在就创建一个然后在读, 否则就直接读这个文件

收获

  • nodejs的异步

在nodejs当中异步操作很多, await在这个场景下很好用, Promise的then和await要看代码的结构和执行流程择优选择, 使用得当的话,可以极大的提升代码可读性

  • 立即重构

如果当时就发现代码写的不好, 逻辑混乱, 可读性差,或者说还有很大的提升空间, 那就马上优化代码, 别想着以后再优化 以后很大概率就看不懂了😂 要不然以后可能就会有各种理由不优化了