1.0.26 • Published 6 months ago
@iocore/cli v1.0.26
@iocore/cli
IoCore 框架的命令行工具。
提供用于创建、启动和管理 IoCore 应用程序的命令。
安装
全局安装(推荐):
npm install -g @iocore/cli
# or
yarn global add @iocore/cli或者作为开发依赖安装:
npm install --save-dev @iocore/cli
# or
yarn add --dev @iocore/cli如果作为开发依赖安装,你需要通过 npx iocore ... 或 yarn iocore ... 来运行命令。
依赖
@iocore/boot: 用于启动应用。@iocore/micro-ws-registry: 用于启动 WebSocket 注册中心。commander: 命令行参数解析。inquirer: 交互式命令行提示。fs-extra: 文件系统操作。ts-morph: TypeScript AST 操作 (用于项目创建)。tsx: (可选,开发模式需要) 即时执行 TypeScript/ESM。
命令
iocore start [yaml]
启动 IoCore 应用程序。
[yaml](可选): 指定配置文件的路径,默认为项目根目录下的iocore.configs.yaml。-e, --entry <file>: 必须 指定应用程序的入口 TypeScript/JavaScript 文件路径 (相对或绝对路径)。该文件 必须export default一个继承自Application的类。-m, --module <module>: (替代 --entry) 指定要导入的模块名或路径,而不是本地文件。-d, --dev: 启用开发模式。如果设置,将使用tsx来即时运行 TypeScript 代码,无需预先编译。
示例:
# 使用默认 iocore.configs.yaml 启动 src/main.ts
iocore start -e src/main.ts
# 使用指定配置文件启动,并启用开发模式
iocore start myconfig.yaml -e src/main.ts --dev
# 使用模块作为入口
iocore start -m my-package/dist/main.jsiocore create
创建一个新的 IoCore 项目。
它会通过一系列交互式问题引导你:
- 输入项目名称: 新项目的文件夹名称。
- 选择需要的服务: 可以多选,包括:
- Http 服务 (
@iocore/http) - WS 微服务 (
@iocore/micro-ws-agent) - IORedis 服务 (
@iocore/ioredis) - TypeORM 服务 (
@iocore/typeorm)
- Http 服务 (
该命令会自动:
- 创建项目文件夹。
- 复制基础项目模板 (
packages/cli/template/project)。 - 根据选择的服务,添加相应的依赖到
package.json。 - 在
iocore.configs.yaml中添加对应服务的示例配置。 - 如果选择了 Http 或 Micro-WS 服务,会复制相应的 Controller/Middleware/Service 模板 (
packages/cli/template/*) 到src/目录下。 - 使用
ts-morph修改src/main.ts,自动注入和绑定所选的服务和控制器/服务。
示例:
iocore create
# ? 请输入项目名称 my-new-app
# ? 请选择需要的服务 (Press <space> to select, <a> to toggle all, <i> to invert selection)
# > [x] Http服务
# [ ] WS微服务
# [x] IORedis服务
# [ ] TypeORM服务
# ... 项目创建完成iocore registry <protocol>
快速启动一个 IoCore 微服务注册中心。
<protocol>: 必须 指定协议。目前只支持ws。-p, --port <port>: 必须 指定注册中心监听的端口。
示例:
# 启动一个监听在 8427 端口的 WebSocket 注册中心
iocore registry ws -p 8427这实际上是使用 @iocore/boot 和预设配置来启动 @iocore/micro-ws-registry。
贡献
欢迎提交 Pull Request。对于重大更改,请先开一个 Issue 来讨论您想要更改的内容。
许可证
1.0.26
6 months ago
1.0.25
6 months ago
1.0.24
6 months ago
1.0.23
6 months ago
1.0.22
6 months ago
1.0.21
6 months ago
1.0.20
7 months ago
1.0.19
7 months ago
1.0.18
7 months ago
1.0.17
7 months ago
1.0.16
7 months ago
1.0.15
7 months ago
1.0.14
7 months ago
1.0.13
7 months ago
1.0.12
7 months ago
1.0.11
7 months ago
1.0.10
7 months ago
1.0.9
7 months ago
1.0.8
7 months ago
1.0.7
7 months ago
1.0.6
7 months ago
1.0.5
7 months ago
1.0.4
7 months ago
1.0.3
7 months ago
1.0.2
7 months ago
1.0.1
7 months ago
1.0.0
7 months ago