more-copy
v3.0.0
Published
copy template generate code file
Downloads
31
Maintainers
Readme
more-copy.js V3.0
可以使用插件的文件拷贝工具
- Home: https://mouday.github.io/more-copy.js/
- github: https://github.com/mouday/more-copy.js
- npm: https://www.npmjs.com/package/more-copy
简单的处理步骤:
- 输入数据 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;