是谁还在CV CV 库库复制粘贴?一个小时开发一个 npm 包解决

78 阅读2分钟

Boilerplate Copier - 从繁琐的复制粘贴中解放出来

Boilerplate Copier 是一个强大的工具,用于复制和粘贴样板文件,适用于各种需要重复使用代码片段的场景。它可以帮助你从繁琐的复制粘贴工作中解放出来,提高开发效率。

阅读这篇文章您可以获得

  1. 学会使用 Boilerplate-Copier 解决繁琐的复制粘贴
  2. 通过时序图学会 npm 包命令的开发思路
  3. 定制个性化需求
  4. 新人上手 npm 包开发更快,非常适合作为你的第一个 npm 包

仓库地址:Boilerplate-Copier

功能特点

  • 简单易用的命令行界面
  • 支持设置样板文件的源目录
  • 可以将样板文件快速粘贴到目标目录
  • 支持覆盖现有文件的选项
  • 易于扩展和定制
  • 支持查看粘贴日志,方便追踪文件的粘贴历史

安装

全局安装:

npm install -g boilerplate-copier

使用方法

  1. 使用 copy 命令设置样板文件的源目录:

    copier copy <sourceDir>
    
  2. 使用 paste 命令将样板文件粘贴到目标目录:

    copier paste <targetDir>
    

    可使用--overwrite 选项覆盖现有文件。

  3. 使用 log 命令查看粘贴日志:

    copier log
    

    该命令将显示最近的粘贴操作记录,包括源目录、目标目录和粘贴时间。

开发指南

  1. 克隆此仓库:

    git clone https://github.com/Gijela/Boilerplate-Copier.git
    
  2. 安装依赖:

    cd boilerplate-copier
    npm install
    
  3. 根据需要修改 index.jsconfig.json 文件,以适应你的项目需求。

  4. 运行以下命令进行测试:

    node index.js copy /path/to/your/boilerplate
    node index.js paste /path/to/your/project
    node index.js log
    
  5. 欢迎提交 Pull Request,贡献你的想法和改进!

时序图

  1. copy 命令
sequenceDiagram
    autonumber
    participant U as 用户
    participant P as Program
    participant FS as fs-extra
    participant C as 配置文件

    U->>+P: copy <sourceDir>
    P->>+FS: writeJson(configFile)
    alt 写入成功
        FS-->>-P: 成功
        P->>U: 显示"Template directory set to..."
    else 写入失败
        FS-->>P: 错误
        P->>U: 显示"Error writing config file"
    end
  1. paste 命令
sequenceDiagram
    autonumber
    participant U as 用户
    participant P as Program
    participant FS as fs-extra
    participant C as 配置文件
    participant L as 日志文件

    U->>+P: paste <targetDir> [-o]
    P->>+FS: readJson(configFile)
    alt 读取成功
        FS-->>-P: 返回sourceDir
        P->>+FS: ensureDir(targetDir)
        P->>FS: copy(sourceDir, targetDir)
        alt 复制成功
            FS-->>-P: 成功
            P->>+L: appendFile(paste.log)
            L-->>-P: 写入成功
            P->>U: 显示"Pasted boilerplate files..."
        else 复制失败
            FS-->>P: 错误
            P->>U: 显示"Error pasting files"
        end
    else 读取失败
        FS-->>P: 错误
        P->>U: 显示"Source directory not set"
    end
  1. log 命令
sequenceDiagram
    autonumber
    participant U as 用户
    participant P as Program
    participant FS as fs-extra
    participant L as 日志文件

    U->>+P: log
    P->>+FS: readFile(paste.log)
    alt 读取成功
        FS-->>-P: 返回日志内容
        P->>U: 显示日志内容
    else 读取失败
        FS-->>P: 错误
        P->>U: 显示"Error reading log file"
    end

许可证

本项目基于 MIT 许可证发布。欢迎自由使用、修改和分发。

联系方式

如有任何问题或建议,请通过 GitHub Issues 与我们联系。