3.0.0 • Published 2 years ago

more-copy v3.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

more-copy.js V3.0

npm npm node-current

可以使用插件的文件拷贝工具

简单的处理步骤:

  • 输入数据 data
  • 插件处理 plugins

安装

# 建议全局安装
npm i more-copy -g

使用

1、命令行

$ mcp -h
Usage: mcp [options]

Options:
  -V, --version                            output the version number
  -h, --help                               display help for command

示例

配置文件

当前目录下可以配置

// more-copy.config.js
module.exports = {
  // 数据
  data: {},

  // 使用插件,有先后顺序, 从下至下依次执行,类似漏斗
  plugins: [],
};

有了配置文件就可以简化命令行输入

$ mcp

Plugin 插件

  • ConsolePlugin 用于输出当前data的值

  • ReadFilePlugin 读取文件内容

    • 参数
      • options.filename 输入文件名
    • 挂载
      • data.content 文件内容
  • WriteFilePlugin 输出文件

    • 参数
      • options.filename 输出文件名
      • options.mkdir 是否创建文件夹 默认true
    • 依赖
      • data.content 输出的内容
  • TimePlugin 基于 dayjs 的时间插件

    • 挂载
      • data.time 时间对象
  • NunjucksPlugin 模板渲染

    • 依赖
      • data.content 和 data

自定义插件

用户可以使用插件来处理输出

插件约定添加 data 对象上的属性,以插件名命名,特殊除外。

例如:使用 ParsePlugin 将会添加属性data.parse

custom-plugin.js 用来处理模板入参,接口和此前版本略有不同

const Plugin = require("more-copy/plugins/plugin.js");

class CustomPlugin extends Plugin {
  /**
   * 插件处理文件内容
   * @param {Object} data  输出的数据,可用于挂载自定义数据
   * @returns {Boolean} 如果返回false则终止后续插件的执行
   */
  process(data) {
    // 挂载自定义数据
    data.custom = {
      name: "Tom",
    };
  }
}

module.exports = CustomPlugin;

其他版本:

3.0.0

2 years ago

2.0.0

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.0

2 years ago