cv-script使用手册
介绍
- 这是一个复制粘贴脚本
- 它可以复制一个文件,并替换文件中你想要替换的字符
- 他可以复制一个文件夹(只支持单层),并替换文件中你想要替换的字符
talk is cheap
// 导入包const CvScript = default;const path = ;// 导入常用的工具const fileDataMap moduleNameQuestion = ; // 模板路径const templatePath = path; // 这是文件需要复制到哪里的路径const distPath = path; const cvs = questions: moduleNameQuestion // 这是你要在控制台收集的问题配置 templateDirPath: templatePath // 这是存放文件夹模板的路径 templateFilePath: templatePath // 这是存放文件模板的路径 distPath: distPath // 这是文件需要复制到哪里的路径 fileDataMaps: fileDataMap // 这是文件内容替换工具函数 templates // 过滤无用的模板 { // 对需要拷贝的文件做最终处理 let finalFiles = ...files; return finalFiles; }; // 开始执行cvsstart;
questions: Question[]
- Question有两种类型,一种是用户输入的交互,另一种是用户选择的交互,这里用的是三方插件readline-sync
- type为input类型时,question只能是string,默认input
- type是select时候,question必须是以下数据结构
// question;
- paramName是你根据参数名称拿到用户输入或选择的值;这个值在fileDataMaps函数中获取
- check是你检查用户输入的值是否符合要求,不符合会重新询问用户,返回true或false,入参是用户在控制台输入的值
fileDataMaps: FileDataMap
在fileDataMap函数中,你会收到模板文件的字符串(fileData),还有用户输入的数据(params)以及模板的信息(template) 你需要返回处理后的文件字符串,供脚本生成文件
;
filterSelectTemplate: (t: Templates[]) => Templates[]
在询问用户选择模板之前,会对识别的模板进行自定义筛选
mapWriteFile,对最终需要拷贝的文件进行处理
; ;