# xitech-cli

> a xitech-cli project

Latest version **1.0.0** (published 2021-10-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install xitech-cli
pnpm add xitech-cli
yarn add xitech-cli
bun add xitech-cli
```

Provides the command `xitech`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2021-10-29 |
| First published | 2021-10-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 12.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | zhaochangjun |
| Maintainers | zhaochangjun |

## Links

- npm: https://www.npmjs.com/package/xitech-cli
- npm.io page: https://npm.io/package/xitech-cli

## Dependencies (4)

- [co](https://npm.io/package/co.md) ^4.6.0
- [chalk](https://npm.io/package/chalk.md) ^1.1.3
- [co-prompt](https://npm.io/package/co-prompt.md) ^1.0.0
- [commander](https://npm.io/package/commander.md) ^2.9.0

## Recent versions

- 1.0.0 (latest) — 2021-10-29

## README

# 说明文档

# xitech-cli 小犀脚手架工具


> 为什么要做自己的脚手架 
 #公司的部分项目结构都差不多，在实际开发中，每次起一个新的项目都要从旧有的项目copy，然后改名、删除内容，留下基本框架，工作量大且繁琐，还容易漏掉某些需要修改的地方，如果从零开始建立项目的结构，又有很多工作需要做，这也是一件让人头疼的事情，身为程序猿的我们，怎么可以忍受这种没有bigger的方式呢。所以脚手架工具应运而生，它最核心的功能是能够快速搭建一个完整的项目的结构，开发者只需要在生成的项目结构的基础上进行开发即可，非常简单高效。


> 常见的脚手架工具
  
  # yoeman、express-generator、vue-cli等等。


> yoeman和vue-cli实现原理
  #yoeman搭建项目需要提供yoeman-generator，yoeman-generator本质上就是一个具备完整文件结构的项目样板，用户需要手动地把这些generator下载到本地，然后yoeman就会根据这些generator自动生成各种不同的项目。
  
  #vue-cli提供了相当丰富的设定和选择功能，但是其本质也是从远程仓库把不同的模版拉取到本地，并不是在本地生成的。


 > 实现思路
 #首先建立不同的模板项目，然后脚手架根据用户的指令引用模板项目生成实际项目。模板项目可以内置在脚手架当中，也可以部署在远程仓库。为了更广的适用范围，xitech-cli采用的是第二种方式（即：部署在远程仓库）。
 
 
 > 技术方案
 
 # node.js：脚手架工具的根本组成部分，推荐使用最新的版本。
 # es6：新版本的node.js对于es6的支持度非常高，使用es6能够极大地提升开发效率。
 # commander：TJ大神开发的工具，能够更好地组织和处理命令行的输入。
 # co：TJ大神开发的异步流程控制工具。
 # co-prompt：TJ大神开发的工具，传统命令行只能单行一次性地输入所有参数和选项，这个工具可以自动提供提示信息，并分步接收用户的输入，体验类似npminit时的一步一步输入参数的过程。


> 目录结构
-----------------------------------------

```
/xitech-cli/
├── /bin/             # 入口文件目录
│ └── xitech     	  # 入口文件
├── /command/         # 命令处理文件目录
│ ├── add.js          # 添加模板
│ ├── delete.js       # 删除模板
│ ├── init.js         # 初始化项目
│ └── list.js         # 输出模板列表
├── .gitignore        # git忽略文件
├── LICENCE           # LICENCE
├── package.json      # 项目依赖
├── package-lock.json # 项目依赖
├── README.md         # 项目说明文档
└── templates.json    # 模板信息
```
-----------------------------------------

> 构建

```bash

# 进入项目目录
cd xitech-cli

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖（会有各种诡异的 bug）。可以通过如下设置淘宝镜像的方式解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 本地调试的时候，在根目录下执行 npm link 可把xitech命令绑定到全局，以后就可以直接以xitech作为命令开头,无需敲入node xitech之类的命令了
npm link

```

> 本地调试运行命令

  # 查看版本信息 xitech -v
  # 添加模版命令 xitech add
  # 删除模板命令 xitech delete
  # 输出模板列表命令 xitech list 
  # 初始化项目命令 xitech init


> 发布到npm

```bash

1. 准备一个npm账号（没有自己去npm官网去注册）
2. 将准备好的模板代码放到git服务器（您可以放到GitHub，自己的git服务器）
3. 执行npm login
4. 登录成功后执行npm publish
5. 发布完成后您就可以执行以下代码测试啦：

a) 先全局安装xitech-cli
npm install xitech-cli -g
b) 安装完成后执行下面代码查看版本信息
xitech-cli -v
//最后执行各种运行命令

```

# 现在我们的整个脚手架工具已经搭建完成了，以后只需要知道模板的git地址和branch就可以不断地往xitech上面添加，团队协作的话只需要分享xitech的templates.json文件就可以了。

---
_Source: https://npm.io/package/xitech-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
