续https://blog.csdn.net/lin_fightin/article/details/117387415
已发布: 可直接 npm install lincli-react1 -g
然后通过lincli create xxx创建项目
上次讲到从npm拉模版,
接着继续未完成的步骤,
执行npm install,yarn start,以及打开浏览器
npm install
定义一个帮助我们执行终端命令的函数,通过spawn可以开一条子进程来执行命令,返回的是子进程childProcess,
这两条是将子进程的错误或者运行通过管道反馈到住进程中。
使用的时候
直接将我们要执行的命令通过参数传过去,第三个参数是指在哪个项目中运行。
因为window运行npm实际上是npm.cmd,所以要做特殊处理。
npm start
打开浏览器
借助open模块。
这样我们只要运行 lincli create xxxx 就会自动拉取模版代码并且安装依赖执行并打开浏览器。
vue3模版
https://gitee.com/fine509/vue3_template_ts.git
这里也是简单配置了一下vue3的模版,有redux,国际化,适配等配置。
再创建个命令行:
create-vue3
然后直接将第一项clone的地址换成vue的模版地址即可。
这样只要运行lincli create-vue3 xxx就会拉取vue3的模版代码并安装依赖执行。
加上其他模块
当我想快速创建一个组件或者一个页面或者一个reducer的时候,我可以通过命令行
linclie addxxx xxx来快速创建。
1 先准备模版
使用ejs模版,
2 创建命令行 以(页面组件为例子)
当我们运行lincli addpage xx 的时候就会运行action函数,传入一个name和路径。
actions的实现
第一步,先拿到我们的模版,然后写入文件,如果我门要创建的页面组件不存在,比如Home.view.tsx,就应该先创建Home文件夹,再创建home.view.tsx,所以先定义一个函数,判断父级文件并且创建的函数,
如图,这个函数可以递归判断我们路径上的父文件是否存在并且一一创建。
创建完成后我们就要拼接路金,加上后缀,然后写入到指定的文件。
写入方法就这样。
这样的话就大功告成了。
看看效果:
自动创建文件并且放进去。
redecer,还有组件的操作都是类似的,调用模版,创建文件,写入。
完善文件
执行lincli addpage A
组件完善
执行lincli addcpn B
vue组件完善
创建命令行
执行lincli addVpage C
源码地址:https://gitee.com/fine509/lincli.git
后面会支持vue3的组件这些。