# pan-cli **Repository Path**: pan-zy/pan-cli ## Basic Information - **Project Name**: pan-cli - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-24 - **Last Updated**: 2021-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pan-cli [文章介绍](https://blog.csdn.net/sd4015700/article/details/119062213) ## 作用 实现自己的cli, 用于快速对项目进行一些初始化 ## 原理简介 * `package.json`的`bin`属性可以指定默认执行的`js` * 在这个默认执行的`js`中, 编写文件拷贝的代码即可 ## 如何使用 进入到该项目的根目录, 将项目进行全局安装 `npm install -g` 查看是否安装成功(如果看到:pan-cli, 则表示安装成功了) `npm ls -g --dept 0` ## 项目目录结构 ``` vue2-template # 该目录是存放vue2项目模板的 copyDir.js # 该文件实现了文件夹的复制 readSyncByfs.js # 该文件实现了等待并读取用户键盘输入的功能 index.js # cli的入口文件 package.json # bin属性指定了cli的入口文件为index.js ``` ## 如何改写/扩展 ### 最简单的改写方式: 以加入vue3项目模板为例: * 在项目根目录使用`vue-cli`创建`vue3`项目,如:`vue3-template` * 对`vue3-template`做一些您需要的配置与依赖安装, 然后删除`node-modules` * 将`vue3-template的package.json的name属性值改为_projectName` * 修改`index.js`文件,将文件中的`vue2-template`改为`vue3-template` * 再对该项目进行一次全局安装(如果已安装过一次,请先进行卸载`npm uninstall -g pan-cli`) `如果上面的方式满足不了您的需求,那您就直接修改index.js中的逻辑吧` ## 其他注意点 `pacakge.json`的`bin`属性值的`key`值会影响最终全局命令名称的生成, 与全局命令的删除, 请务必将该值保持和项目名一致,否则有可能造成通过命令的形式无法删除该全局模块