npm 创建cli项目

package.json

{
  "name": "js-w4-v2",
  "version": "1.0.15",
  "description": "Auto webpack4 + vue2 project template",
  "main": "index.js",
  "bin": {
    "js-w4-v2": "./index.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jack0888/js-w4-v2.git"
  },
  "keywords": [
    "js-w4-v2"
  ],
  "author": "yjwang088@163.com",
  "dependencies": {
    "commander": "^2.17.1",
    "git-clone": "^0.1.0",
    "shelljs": "^0.8.2",
    "tracer": "^0.9.1"
  },
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/jack0888//issues"
  },
  "homepage": "https://github.com/jack0888/#readme"
}

index.js

#!/usr/bin/env node

const clone = require('git-clone')
const program = require('commander')
const shell = require('shelljs');
const log = require('tracer').colorConsole()


program
    .version('1.0.15')
    .description('Auto webpack4 + vue2 project template')
program
    .command('* init')
    .action(function() {
        log.info('目前js-w4-v2只有一种模板,示例:js-w4-v2 init')
        let pwd = shell.pwd()
        let url = `https://github.com/jack0888/js-w4-v2.git`;
        log.info(`正在${url}拉取模板代码 ...`)
        clone(url, pwd + ``, null, function() {
            shell.rm('-rf', pwd + `/.git`)
            log.info('模板工程建立完成')
        })
    })
program.parse(process.argv)

ps: 传参写法

program
    .version('1.0.15')
    .description('Auto webpack4 + vue2 project template')
program
    .command('* init <project> <tpl>')
    .action(function(tpl, project) {
        log.info('目前js-w4-v2支持amd和webpack两种模板,示例:js-w4-v2 init myproject --amd | --webpack')
        if (tpl && project) {
            let pwd = shell.pwd()
            let url;
            if(tpl == '--amd'){
                url = `https://github.com/jack0888/js-w4-v2.git`;
            }else{
                url = `https://github.com/jack0888/js-w4-v2.git`;
            }
            log.info(`正在${url}拉取模板代码 ...`)
            clone(url, pwd + `/${project}`, null, function() {
                shell.rm('-rf', pwd + `/${project}/.git`)
                log.info('模板工程建立完成')
            })
        } else {
            log.error('正确命令例子:js-w4-v2 init myproject --amd | --webpack')
        }
    })

转载于:https://my.oschina.net/jack088/blog/1933717

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值