好用的项目初始化工具SCION升级啦!

730 阅读2分钟

1、什么是SCION

SCION是一个专门用于初始化项目的工具。只要你有一套模板,就能通过SCION方便地把项目初始化出来。同时SCION允许你添加多套模板,大大提升了工作效率。

关于SCION的诞生,可以查看我的这篇文章:《教你从零开始搭建一款前端脚手架工具》

项目地址:github.com/jrainlau/s.…

2、安装

可以通过yarn或者npm全局安装使用:

yarn add scion-cli --global
npm install scion-cli -g

3、使用方式

执行scion命令,获取详细使用方式及说明:

Usage: scion <command>


  Commands:

    add|a      Add a new template
    list|l     List all the templates
    init|i     Generate a new project
    delete|d   Delete a template

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

注意,如果你正在使用MacOS或者Linux系统,在执行adddelete命令的时候,需要加上sudo前缀。

4、命令

add | a

这条命令会添加一个模板信息到templates.json文件内,以便将来供SCION使用。

$ scion add

? Set the custom name of the template: my-first-template
? Owner/name of the template: jrainlau/scion
? Branch of the template: new
┌───────────────────┬────────────────┬────────┐
│ Template Name     │ Owner/Name     │ Branch │
├───────────────────┼────────────────┼────────┤
│ my-first-template │ jrainlau/scion │ new    │
└───────────────────┴────────────────┴────────┘
✔ New template has been added successfully!

Scion 使用了 download-git-repo 去下载位于github的项目作为模板。

list | l

列出所有已保存的模板。

$ scion list

┌────────────────────┬────────────────┬────────┐
│ Template Name      │ Owner/Name     │ Branch │
├────────────────────┼────────────────┼────────┤
│ my-first-template  │ jrainlau/scion │ new    │
├────────────────────┼────────────────┼────────┤
│ my-second-template │ jrainlau/motto │ master │
└────────────────────┴────────────────┴────────┘

init | i

在添加了模板以后,通过这条命令初始化你的项目。

$ scion init

? Template name: my-first-template
? Project name: my-project
? Where to init the project? ../
⠹ Downloading template...

New project has been initialized successfully!

是不是很简单呢?

delete | d

用于删除一个模板。

$ scion delete

? Which template you want to delete? my-second-template
┌───────────────────┬────────────────┬────────┐
│ Template Name     │ Owner/Name     │ Branch │
├───────────────────┼────────────────┼────────┤
│ my-first-template │ jrainlau/scion │ new    │
└───────────────────┴────────────────┴────────┘
✔ Template has been deleted successfully

5、明白模板是什么

简单来说,一个“模板”就是一个保存在github或者gitlab项目,这个项目有着完整的目录结构,以其为模板的项目都会在当前的目录基础上进行扩展。

6、升级信息

  • 使用cli-table优化模板的输出。

  • 使用inquirer实现命令行交互功能。

  • 使用download-git-repo去下载模板,避免了通过git clone会把.git文件夹也下载下来的问题。

  • 修复无法跨平台(MacOS, Windows)使用的问题。