全部产品

使用 fun init 初始化项目

更新时间:2019-12-30 21:02:11

fun init 作为 Fun 的一个子命令存在,可以直接通过 fun init 命令使用。fun init 工具可以根据指定的模板快速的创建函数计算应用,快速体验和开发函数计算相关业务。官方会提供常用的模板,用户也可以自定自己的模板。

fun init 命令格式

  1. $ fun init --help
  2. Usage: init [options] [location]
  3. Initializes a new fun project
  4. Options:
  5. -o, --output-dir [outputDir] where to output the initialized app into (default: .)
  6. -n, --name [name] name of your project to be generated as a folder (default: fun-app)
  7. --no-input [noInput] disable prompting and accept default values defined template config
  8. -V, --var [vars] template variable
  9. -h, --help output usage information
  10. Examples:
  11. $ fun init
  12. $ fun init helloworld-nodejs8
  13. $ fun init foo/bar
  14. $ fun init gh:foo/bar
  15. $ fun init gl:foo/bar
  16. $ fun init bb:foo/bar
  17. $ fun init github:foo/bar
  18. $ fun init gitlab:foo/bar
  19. $ fun init bitbucket:foo/bar
  20. $ fun init git+ssh://git@github.com/foo/bar.git
  21. $ fun init hg+ssh://hg@bitbucket.org/bar/foo
  22. $ fun init git@github.com:foo/bar.git
  23. $ fun init https://github.com/foo/bar.git
  24. $ fun init /path/foo/bar
  25. $ fun init -n fun-app -V foo=bar /path/foo/bar

选项说明

选项 默认值 描述
-o, —output-dir . 初始化的应用程序输出目录(可选)
-n, —name fun-app 要作为文件夹生成的项目名称(可选)
—no-input false 禁用提示并接受默认值来定义的模板配置(可选)
-V, —var 模板变量(可选)
-h, —help 打印使用说明(可选)

示例:

  1. -o,--output-dir 选项输出初始化应用程序的输出目录。默认是 fun init 命令执行的当前路径。

    1. $ fun init -o /path/foo/bar
  2. -n,--name 选项要作为文件夹生成的项目名称。默认值是 fun-app

    1. $ fun init -n xxx
  3. -V,--var 选项模板变量。模板可能会有很多模板变量,模板变量一般都会设置默认值,如果某些模板变量希望用户填写自己的值,在初始化模板的过程中,会提示用户输入自定义的值,用户可以输入自定义的值,也可以直接回车使用默认值,还可以直接通过 -V,--var 选项设置模板变量值。通过该选项设置的模板变量,就不会再提示用户输入了。选项格式要求:以等号分隔的键值对,键只能包含字母、数字和 _;值可以是任意字符。

    1. $ fun init -V foo=bar -V bar=baz
  4. --no-input 选项禁用提示并接受默认值来定义的模板配置。假如不想提示输入模板变量,可以通过该选项,跳过提示输入,直接使用模板变量的默认值。
    1. $ fun init --no-input

模板位置(Location)

支持如下方式指定模板:

  • 官方模板。包含离线和在线模板:
    • 离线模板。内嵌在 fun 工具中
    • 在线模板。通过模板名称来指定模板位置,fun 内部会将其转换为 github 地址
  • Git / Mercurial 仓库模板。支持缩写方式,具体请看下文
  • 本地文件系统路径模板

如果您需要自定义自己的模板,只需要将您的模板提交到 github 上,然后在执行 fun init 指定您自己的 github 地址。

示例:

  1. 选择官方模板输入 fun init 命令,则提示用户选择模板,支持模糊查询。在不清楚需要什么样的模板时,简单的使用不带任何参数的 fun init 会提示用户官方模板有哪些,用户更具提示选择自己的需要模板。

    1. $ fun init
    2. ? Select a tempalte to init (Use arrow keys or type to search)
    3. helloworld-nodejs8
    4. helloworld-nodejs6
    5. helloworld-python3
    6. helloworld-python2.7
    7. helloworld-java8
    8. helloworld-php7.2
  2. 指定官方模板helloworld-nodejs8 是内嵌在 fun 工具的官方模板,所以支持离线,该模板最终生成一个运行时为 nodejs8 的 helloworld 函数计算应用。对于一些常用的模板,我们会把它放到官方模板列表中,用户只需要指定简短模板名称即可,不需要指定完整的模板仓库地址。

    1. $ fun init helloworld-nodejs8
  3. 指定 Git / Mercurial 仓库模板支持 Git / Mercurial 仓库模板,支持多种前缀的缩写形式,对于 github,甚至可以进一步缩写为 user/repo

    1. $ fun init foo/bar
    2. $ fun init gh:foo/bar
    3. $ fun init gl:foo/bar
    4. $ fun init bb:foo/bar
    5. $ fun init github:foo/bar
    6. $ fun init gitlab:foo/bar
    7. $ fun init bitbucket:foo/bar
    8. $ fun init git+ssh://git@github.com/foo/bar.git
    9. $ fun init hg+ssh://hg@bitbucket.org/bar/foo
    10. $ fun init git@github.com:foo/bar.git
    11. $ fun init https://github.com/foo/bar.git

    说明:需要提前安装好相应的版本控制工具。

  4. 指定本地文件系统路径模板我们可以将在线模板克隆放到本地文件系统,通过指定模板路径,实现离线初始化。

    1. $ fun init /path/foo/bar

小结

通过 Fun Init 工具可以快速体验和开发函数计算的应用,避免重复机械劳动,你也可以将自己觉得有价值的函数计算应用制作成模板项目,方便自己同时也可以方便别人。