乐趣区

开箱即食命令行替你写表单

前言

后台系统中,表单需求不会少,表格 + 分页器 + 筛选条件。

(今天我们不加班)

(今天我们不开发)

以此为目标

写一个命令行,让他替我们‘自动开发’

基于 vue+element-ui 进行开发

参考的文章:

[vue-cli3 项目从搭建优化到 docker 部署](https://juejin.im/post/5c4a6fcd518825469414e062)

这篇文章对于学习 vue-cli3 脚手架有很大的帮助,受教了

操作指南

[toc]

安装

npm i automation-template -D
npm link automation-template // 此命令的作用是使操作命令可以在项目内直接使用

使用

以下命令缺一不可

autopage -h
Usage: autopage [options]

Options:
  -V, --version     output the version number
  -s --save [save]  文件输出的位置
  -n --name [name]  文件名称
  -k --key [key]    文件唯一标识
  -h, --help        output usage information
  
/**
*  @example  autopage --save src/main/views/userAnalysis/loadPageAnalysis --name dddd --key 11121212
**/

自定义功能
包括分页、筛选条件配置等
最后会输出结果 json,拿去给后端!!!交互

原理

其实很简单,整个插件分为两个大步骤

1、nodejs 进行命令行交互,并返回 JSON 数据格式
2、写一个标准的模板,获取参数生成文档流进行写入

nodejs 部分

主要使用两个插件进行交互


"dependencies": {
"chalk": "^2.4.2",  // 命令行有颜色
"commander": "^2.20.0", // 命令行 option
"inquirer": "^6.3.1" // 命令行交互}

具体不详细叙述,遇到的坑有

1、异步问题,使用 promise async 可以有效解决

2、nodejs 读写流部分

template 部分

目前的流程是基于 vue+elemet-ui 实现的
其实可以替换不同的 template,甚至可以配置。
后期会进化一下流程。
主要作用在于输出一个字符串,根据标准,能够节省我们引用组件,对于数据操作的繁琐性。

感谢我的伙伴~~ 这一部分是由她开发的。
嘻嘻嘻

并且最后进行自动路由挂载,其实方法有很多,这里提供一种

const components = require.context('./views/table', false, /\.vue$/);


写在后面

源码

github 项目地址
感谢我的伙伴和我一起完成这个小 demo。

一些废话

从事前端的时间并算不长,写的文章也比较粗浅。

刚刚从事前端的时候,会有一些迷茫,不知道前端的道路到底有多远。

所谓刚入江湖,天下无敌。

哈哈,在每天颠覆的前端技术栈折磨以后,才真正的开始热爱前端。

希望自己每天都能进步一点点,在公司里创造一个好的前端环境。

在未从事前端之前,我曾质疑热爱某种职业是虚幻的。

加油啊!!!

退出移动版