From eb77dac973b95ca25243b8931a0d53971ce6c961 Mon Sep 17 00:00:00 2001 From: npmrun <1549469775@qq.com> Date: Fri, 14 Oct 2022 01:07:39 +0800 Subject: [PATCH] fixed bug --- README.MD | 40 +++++++++++++++++++++++++++++++++++----- package.json | 2 +- templates/a.png | 0 templates/pp.ask.js | 9 +++++---- 4 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 templates/a.png diff --git a/README.MD b/README.MD index 25c346c..0636476 100644 --- a/README.MD +++ b/README.MD @@ -1,5 +1,3 @@ -# @noderun/pp - ### 安装 ```bash npm i @noderun/pp -g @@ -26,9 +24,42 @@ Commands: ask 命令行交互测试 help [command] display help for command ``` + +### 命令行交互 +在根目录新建一个`pp.ask.js`,内容如下: +``` +module.exports = (inquirer) => { + return [ + { + type: "checkbox", + message: "选择一个框架", + name: "framework", + choices: [ + new inquirer.Separator(" = Vue = "), + { + name: "element" + }, + { + name: "Ham", + } + ], + validate(answer) { + if (answer.length < 1) { + return "You must choose at least one topping."; + } + return true; + }, + }, + ]; +}; +``` +通过之后变量会应用于模板中,模板采用的是`ejs`渲染,只需要在需要替换的地方使用`ejs`语法` <%= locals.toppings || '' %>`就行了, +如果需要测试`inquirer`,使用`pp ask 文件夹`(文件夹是指子目录有`pp.ask.js`的文件夹) + ### 同步 * 在gitee创建私人令牌,权限包括gist的操作 * 复制token,执行`pp sync`同步到gist + > 注意操作gist的是description的pp的,请注意跟你的gist不要重复 > `pp sync`需要手动执行 @@ -44,7 +75,6 @@ Commands: * [x] 命令行交互 * [x] 本地模板命令行交互测试 -TODO +### 注意 -* [ ] 代码整理 -* [ ] 远端同步可能造成的数据丢失 +* 记得同步就行,冲突比对暂时没有好的想法 diff --git a/package.json b/package.json index 2303fb5..352b961 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@noderun/pp", - "version": "0.0.25", + "version": "0.0.27", "description": "命令行管理模板项目", "main": "dist/pp.umd.js", "module": "dist/pp.esm.js", diff --git a/templates/a.png b/templates/a.png new file mode 100644 index 0000000..e69de29 diff --git a/templates/pp.ask.js b/templates/pp.ask.js index fa72d6e..fc85dd2 100644 --- a/templates/pp.ask.js +++ b/templates/pp.ask.js @@ -2,12 +2,13 @@ module.exports = (inquirer) => { return [ { type: "checkbox", - message: "Select toppings", - name: "toppings", + message: "选择一个框架", + name: "framework", choices: [ - new inquirer.Separator(" = The Meats = "), + new inquirer.Separator(" = Vue = "), { - name: "Pepperoni", + name: "element", + message: "Element UI" }, { name: "Ham",