Skip to content

Latest commit

 

History

History
141 lines (105 loc) · 4.82 KB

README-zh.md

File metadata and controls

141 lines (105 loc) · 4.82 KB

magic-cli 中文文档

Build Status npm package node version deps package npm download license PRs Welcome

安装

使用 npm :

 $ npm install -g magic-cli

使用 yarn :

 $ yarn global add magic-cli

commands

new

初始化一个项目

选项:

    > -c, --clone   # 使用 git clone 下载模板文件
    > -r, --remote  # 下载远程模板文件而不是使用本地缓存的模板文件

说明:
这个命令是在vue-cliinit的命令基础上面改的。有以下几个更改点:

  1. 增加了alias,也就是项目的别名的使用,初始化时会先去检查是否有别名
  2. 增加了缓存,vue-cli默认是在初始化完成后删除所下载的模板文件。修改后会缓存模板文件到系统的tmp目录。如果要更新换成或者是要下载从线上的模板文件进行初始化可以使用--remote或者-r选项。这样更新的模板文件会覆盖原来缓存的模板文件。
    PS:模板文件的渲染规则是使用的 Handlebars.js. 你可以具体参考它的语法。默认也注册了if_equnless_eq两个自定义命令

alias

给远程(本地)模板添加一个别名

选项:

    > -l, --list        # 查看别名列表
    > -a, --absolute    # 如果是设置本地模板文件的路劲别名,默认是保存相对路劲,加了这个选项后会使用绝对路径
    > -d, --desc [desc] # 给别名添加描述,可以创建别名的时候添加,也可以在为已经存在的别名添加

unalias:

删除一个别名

g/generate:

在blueprints(模板)的基础上生成文件

选项:

    > -l, --list        # 查看蓝图文件列表
    > -c, --cwd [path]  # 生成文件的起始目录
    > -f, --force       # 如果生成的文件已经存在,直接覆盖。不询问用户是否覆盖

说明:
这个命令是借鉴了redux-cligenerate命令,但是实现方式不一样。在用它的命令时有很多不舒服的地方。在这个的基础上作了以下的修改

  1. magic g 在查找blueprints 模板文件的时候不只会找当前目录(运行命令的目录),还会查找当前目录的上一层,以及上上层...这样就不用在每个目录都创建blueprints模板文件了
  2. 可以使用-c,--cwd选项来制定生成的目录
  3. 如果生成的文件已经存在则询问用户是否覆盖,而不是直接抛出错误
  4. 增加了修饰符,如下:
  • __name.cap__ 或者 __name.capitalize__ => home to Home
  • __name.low__ 或者 __name.lowercase__ => Home to home
  • __name.up__ 或者 __name.uppercase__ => home to HOME
  • __name.dash__ 或者 __name.dashcase__ => homeName to home-name

例子:

如果你的blueprint文件是这样的

    └── route            
      ├── index.js
      └── files
        └── __name__  
          ├── __name__Containers.js
          ├── __name__Components.js
          └── __name__Reducers.js

然后使用 magic g

$ magic g route home

最后你会得到像这样的结果:

    └── home
      ├── homeContainers.js
      ├── homeComponents.js
      └── homeReducers.js

说明:

同样的文件内部的 __name__ 也会被替换。你可以在文件内部的内容使用它。

Contents

Templates :

React:

Vue:  

Blueprints :

默认提供的blueprints文件

Name Description
magic g blueprint <name> generates a blueprint template file

License

MIT