1.0.0 • Published 4 years ago

rui-filedisplay v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

演示流程:

  • (index.js) => 递归显示目录下的文件信息:读取当前命令下的目录

  • (index2.js) => 可接受参数:通过 process 获取参数,遍历参数所指定的目录下的文件,没指定参数就使用当前目录

  • (index3.js) => 可接收可选项:--recursive 或 -r

    • 可能传入多个参数,接受参数需要过滤,是不是可选项,因为有可能 -r 作为第一个参数传入导致错误

    • 对于布尔值的可选项,判断存在即可为 true,因为通过命令行传入的值,都是 true,即使传递 false 也会作为字符串 'false'

    • 使用数组的 includes 判断存在即可为 true

    • 判断目录存在变成了组合可能,不能直接 else 作为文件来处理

  • 改成 CLI 方式:

    • 复制 index3.js 重命名为 index4.js

    • 在 index4.js 加上 node 命令文件声明,还要为该文件赋予可执行权限,执行 JS 文件并传入参数 (./index4.js -r ./)

  • 改成全局 CLI

    • 通过 PATH 实现

      • 复制 index4.js 重命名为 display,通过 PATH 环境变量将文件所在目录添加到 PATH 中 (推荐临时导入,只在当前 Shell 生效,这样不会污染环境变量)
    • 通过 package.json 的 bin 属性实现

      • 初始化为 node 项目

      • 修改 package.json 的 bin 属性,定义一个 display 命令,值是 ./display

      • 运行 npm link,之后便可以在任何地方使用 display 命令了

      • 在项目下运行 npm unlink 前,该命令都是永久生效的,测试完成记得 unlink,不要污染全局变量

  • 发布这个包,然后在其他目录,下载下来,使用 npx 测试