准备工作
首先准备一个模板,上传至github或者gitlab,本文以github为例
需要使用的第三方库
- babel-cli/babel-env: 语法转换
 - commander: 命令行工具
 - download-git-repo: 用来下载远程模板
 - inquirer: 交互式命令行工具
 - ora: 显示loading动画
 - chalk: 修改控制台输出内容样式
 - log-symbols: 显示出 √ 或 × 等的图标
 
实现功能
- xiami、xiami -h、xiami –help可显示帮助信息
 - xiami init templateName projectName 可从xiamijun/templateName 的远程仓库拉取模板
 
手写脚手架
新建空项目,npm init
安装依赖
npm install babel-cli babel-env chalk commander download-git-repo ini inquirer log-symbols ora –save
目录结构
1  | ├── bin  | 
package.json添加如下字段:
1  | "bin": {  | 
babel 配置
.bablerc文件:
1  | {  | 
src/main.js
1  | import program from 'commander'  | 
src/index.js
1  | // 主的流程控制  | 
src/init.js
1  | import {  | 
src/utils/get.js
1  | import {URL} from './constants'  | 
src/utils/constants.js
1  | import {version} from '../../package.json'  | 
bin/www
1  | #! /usr/bin/env node  | 
调试
运行npm run watch 进行打包
运行npm link将当前的xiami命令链接到全局环境
发布
- 首先切换至 https://registry.npmjs.org/ ,使用nrm或者npm config set
 - 登录npm,输入npm login,输入用户名、密码、邮箱
 - npm publish