Skip to content

lq782655835/yiai-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yiai-cli

init project from uniform cli-tool base on AI TEAM STANDARD

NPM Version NPM Download

Insall

npm install -g yiai-cli

Usage

yiai
Usage: yiai <command> [options]

Options:
  -V, --version                output the version number
  -h, --help                   display help for command

Commands:
  init [name]                  Initialize a kind of template
  list                         List templates
  serve [dir]                  server built by local static folder
  publish <version>            Publish a new version
  screenshot <url|local-file>  Take a screenshot of a web page
  ghpages                      Push a directory to gh-pages
  help [command]               display help for command

Commands

脚手架包含多个独立命令。

1. yiai init

根据模板初始化项目

image

you can choice one of below templates:

2. yiai list

列出所有项目模板

3. yiai serve

对项目中build打包后的静态文件,快速开启本地node服务器。使得可以快速预览项目的生产包。默认指向静态文件是当前执行命令位置,端口是3000

更多参数可使用yiai serve --help查看:

Usage: yiai-serve [options] [dir]

Options:
  -o, --open                automatically opens a browser window to this server
  -a, --auth <user>:<pass>  specify basic auth credentials
  -F, --format <fmt>        specify the log format string (default: "dev")
  -p, --port <port>         specify the port [3000] (default: 3000)
  -r, --root <root>         specify the root directory [] (default: "")
      --https-port <port>   specify the port [3443] (default: 3443)
  -H, --hidden              enable hidden file serving
  -S, --no-stylus           disable stylus rendering
  -J, --no-pug              disable pug rendering
      --no-less             disable less css rendering
  -I, --no-icons            disable icons
  -L, --no-logs             disable request logging
  -D, --no-dirs             disable directory serving
  -C, --cors                allows cross origin access serving
  -s, --https               also serve over https
      --key                 key file path for https
      --cert                certificate file for https
      --ca                  CA certificate file for https
      --compress            gzip or deflate the response
      --exec <cmd>          execute command on each request
  -h, --help                display help for command

4. yiai gitsync

支持配置git-sync.target,支持branch、dist参数设置。更多该工具详情,可看独立npm版本: git-sync-tool

在vue项目的package.json中配置git-sync.target,指向egg项目(最终node项目部署)

问题列表

  1. yiai gitsyncgh-pages同步工具有何区别?

两者核心功能一致,都可以把指定dist静态文件,同步到另外一个项目的dest目录下,不过yiai gitsync可以有较多的自定义能力,更符合项目扩展。

附上ghpages同步文件代码:

const ghpages = require('gh-pages')

// ghpages api方式,同步静态文件
ghpages.publish('dist'), {
  dest: 'app/public',
  repo: 'xxx/webserver-egg.git',
  branch: 'develop'
}, (e) => {
  if (e) {
    console.log('sync failed', e.message)
    return process.exit(1)
  }
})

gh-pages publish核心源码流程:1. gitclone/git pull/git checkout拿到最新代码到cache文件夹中 2. 清空dest文件夹,并同步dist内容到dest文件夹中 3. git tag/git push推送。

License

The code is distributed under the MIT