prompt.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * @Description:: 请补充填写
  3. * @Version: 请配置版本号
  4. * @Author: 舟舟
  5. * @Date: 2022-07-31 09:17:18
  6. * @LastEditors: 舟舟
  7. * @LastEditTime: 2022-07-31 10:11:47
  8. * @FilePath: /ouicai_web_framework_vite_ep_nolang/plop-templates/view/prompt.js
  9. */
  10. const { notEmpty } = require('./utils_plop') //自己定义的一个工具方法-后面会说
  11. module.exports = {
  12. description: 'generate a controller', //描述这个generate的作用
  13. prompts: [
  14. {
  15. type: 'input', // 问题的类型
  16. name: 'pathName', // 问题对应得到答案的变量名,可以在acitons中使用该变量
  17. message: '文件名称', // 在命令行中的问题
  18. validate: notEmpty('pathName') //验证输入的值,notEmpty自定义的工具方法里验证
  19. },
  20. //这里可以多个,代表多个问题,依次执行
  21. /** {
  22. type: 'input', // 问题的类型
  23. name: 'pathName2', // 问题对应得到答案的变量名,可以在acitons中使用该变量
  24. message: '文件名称2' // 在命令行中的问题
  25. }**/
  26. ],
  27. //执行的动作
  28. actions: (data) => {
  29. // 这里可以通过data获取输入的pathname
  30. const actions = [
  31. //这里创建一个文件
  32. {
  33. type: 'add', // 操作类型 添加文件
  34. path: `src/views/backend/${data.pathName}/index.vue`, //添加的文件的路径
  35. templateFile: 'plop-templates/view/index.hbs', //模版文件的路径(***这里就是想要生成的模板)
  36. data: {}
  37. },
  38. {
  39. type: 'add', // 操作类型 添加文件
  40. path: `src/views/backend/${data.pathName}/popupForm.vue`, //添加的文件的路径
  41. templateFile: 'plop-templates/view/popupForm.hbs', //模版文件的路径(***这里就是想要生成的模板)
  42. // 模版绑定数据集,可参考Handlebars语法,网站:https://handlebarsjs.com/guide/expressions.html#path-expressions
  43. data: {}
  44. }
  45. ]
  46. return actions
  47. }
  48. }