prompt.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const { notEmpty } = require("../utils.js");
  2. let { templateFolder } = require("../../../src/config/settings.js");
  3. module.exports = {
  4. description: "创建curd",
  5. prompts: [
  6. {
  7. type: "input",
  8. name: "name",
  9. message: "请输入view名称,勿与之前重复,然后点击回车",
  10. validate: notEmpty("name"),
  11. },
  12. ],
  13. actions: (data) => {
  14. const name = "{{name}}";
  15. const properCaseName = "{{properCase name}}";
  16. const actions = [
  17. {
  18. type: "add",
  19. path: `src/views/${templateFolder || "project"}/${name}/index.vue`,
  20. templateFile: "node_modules/zx-templates/curd/index.hbs",
  21. data: {
  22. name: name,
  23. },
  24. },
  25. {
  26. type: "add",
  27. path: `src/views/${
  28. templateFolder || "project"
  29. }/${name}/components/${properCaseName}Edit.vue`,
  30. templateFile: "node_modules/zx-templates/curd/edit.hbs",
  31. data: {
  32. name: name,
  33. },
  34. },
  35. {
  36. type: "add",
  37. path: `mock/controller/${name}.js`,
  38. templateFile: "node_modules/zx-templates/mock/index.hbs",
  39. data: {
  40. name: name,
  41. },
  42. },
  43. {
  44. type: "add",
  45. path: `src/api/${name}.js`,
  46. templateFile: "node_modules/zx-templates/api/index.hbs",
  47. data: {
  48. name: name,
  49. },
  50. },
  51. ];
  52. return actions;
  53. },
  54. };