快速开始
请先确保已安装新版 NodeJS 和 NPM、pnpm 等包管理器。执行一个命令即可启动交互式项目创建器:
npm init func
# or
pnpm create func开发
创建初始项目后,你会看到这些文件:
.
|-- src
| |-- app.module.ts application module
| |-- commands
| | |-- hello.ts "hello" command
| | |-- major.ts empty invocation, --help, --version
| | +-- index.ts command list
| +-- index.ts runs AppModule
|-- tests testcases
| |-- commands test for commands
| +-- utils test utils
|-- package.json
|-- tsconfig.json
+-- README.md开始编辑前,先安装依赖并准备开发环境:
npm i
npm run dev --到这里,准备工作就完成了。
你可以浏览 commands 中的示例,修改它们,然后通过本地 TypeScript
入口运行命令:
npm run dev -- hello
npm run dev -- --version模板会通过根应用模块注册命令:
import { FuncModule } from 'func'
import { commands } from './commands'
@FuncModule({
commands,
})
export class AppModule {}命令是一个带有一个或多个 @Handler 方法的类:
import { Command, Handler } from 'func'
@Command({
name: 'hello',
description: 'print hello text',
})
export class Hello {
@Handler()
run() {
console.log('hello command trigger!')
}
}打包
如果你使用默认模板创建项目,只需要一个命令即可打包:
npm run build命令执行后,项目会被打包到配置的输出目录。
funcgo build 会打包配置的入口,并写出可执行的
bin.js。模板已经把 package.json#bin 指向该生成文件。
发布
构建产物生成后即可发布包。模板已经把 package.json#bin
指向生成的可执行文件。