Flu-CLI v2 命令参考
Flutter MVVM 脚手架工具 - 快速生成项目和代码
快速开始
bash
# 创建新项目
flu-cli new my_app
# 添加页面
flu-cli add page home
# 查看帮助
flu-cli --help命令列表
1. new - 创建项目
创建一个新的 Flutter 项目,支持多种模板和状态管理器。
用法:
bash
flu-cli new [项目名称] [选项]
flu-cli n [项目名称] # 简写选项:
-t, --template <type>- 模板类型:lite,modular,clean-s, --state <type>- 状态管理器:default,provider,getx-d, --dir <path>- 项目存放目录(默认:当前目录)--no-cache- 不使用缓存,强制从 Git 拉取--no-network- 不包含网络层(默认包含)--remote- 使用远程 Gitee 模板(默认使用本地模板)
示例:
bash
# 交互式创建(推荐)
flu-cli new
# 指定项目名和模板
flu-cli new my_app -t lite
# 指定状态管理器
flu-cli new my_app -s getx
# 完整配置
flu-cli new my_app -t modular -s provider -d ~/projects2. add - 添加组件
在当前项目中添加各种代码组件。
用法:
bash
flu-cli add <类型> <名称> [选项]
flu-cli a <类型> <名称> # 简写支持的类型及别名:
| 类型 | 别名 | 说明 |
|---|---|---|
page | p | 页面组件 |
widget | w | 通用组件 |
component | c | 业务组件 |
viewmodel | v | ViewModel |
service | s | 服务层 |
model | m | 数据模型 |
module | mod | 完整功能模块 |
选项:
-f, --feature <name>- 所属功能模块(仅 modular/clean 模式)--stateful- 创建 StatefulWidget--stateless- 强制创建 StatelessWidget--list-page- 创建列表页 (BaseListPage)--no-vm- 不生成 ViewModel(仅 page 类型)--type <type>- Service 类型:api,storage,auth(仅 service 类型)--json <file>- 从 JSON 文件生成(仅 model 类型)--list- 查看支持的类型列表
示例:
bash
# 添加页面(自动生成 ViewModel)
flu-cli add page home
flu-cli add p home # 简写
# 添加列表页
flu-cli add page user_list --list-page
# 添加无状态页面
flu-cli add page about --stateless --no-vm
# 添加组件
flu-cli add widget custom_button
flu-cli add w custom_button # 简写
# 添加 Service
flu-cli add service api --type api
flu-cli add s auth --type auth # 简写 + 指定类型
# 添加 Model
flu-cli add model user
flu-cli add m user # 简写
# 在功能模块下添加(modular/clean 模式)
flu-cli add page product -f shop3. templates - 模板管理
查看可用模板列表或指定模板的详细信息。
用法:
bash
flu-cli templates [模板名称]
flu-cli t [模板名称] # 简写示例:
bash
# 查看所有模板
flu-cli templates
# 查看指定模板详情
flu-cli templates lite
flu-cli t modular # 简写4. generate-sm - 生成状态管理代码
为现有项目生成状态管理适配与配置。
用法:
bash
flu-cli generate-sm <类型>
flu-cli g <类型> # 简写选项:
-d, --dir <path>- 项目目录(默认:当前目录)-m, --module <name>- 模块名称(modular/clean 支持分模块适配器)
示例:
bash
# 生成 Provider 状态管理
flu-cli generate-sm provider
# 生成 GetX 状态管理
flu-cli g getx # 简写5. update-templates - 更新模板缓存
更新本地模板缓存到最新版本。
用法:
bash
flu-cli update-templates [模板名称]
flu-cli u [模板名称] # 简写选项:
--force- 强制刷新并清理未跟踪文件
示例:
bash
# 更新所有模板
flu-cli update-templates
# 更新指定模板
flu-cli u lite # 简写
# 强制刷新
flu-cli update-templates --force6. cache - 缓存管理
管理本地模板缓存。
用法:
bash
flu-cli cache <action>
flu-cli c <action> # 简写支持的操作:
clean- 清理缓存
示例:
bash
# 清理缓存
flu-cli cache clean
flu-cli c clean # 简写7. completion - 自动补全
生成 Shell 自动补全脚本(支持 Bash/Zsh)。
用法:
bash
flu-cli completion
flu-cli comp # 简写安装方法:
bash
# Zsh
flu-cli completion >> ~/.zshrc
source ~/.zshrc
# Bash
flu-cli completion >> ~/.bashrc
source ~/.bashrc常见工作流
创建新项目
bash
flu-cli new my_app
cd my_app
flutter pub get
flu-cli add page home
flu-cli add page user_list --list-page在现有项目中使用
bash
cd existing_project
# 添加组件
flu-cli add page settings
flu-cli add service apiModular 架构项目
bash
flu-cli new my_app -t modular
cd my_app
# 在 shop 模块下添加页面
flu-cli add page product -f shop
flu-cli add page cart -f shop
# 在 user 模块下添加页面
flu-cli add page profile -f user全局选项
所有命令都支持以下选项:
-V, --version- 查看版本号-h, --help- 查看帮助信息
示例:
bash
flu-cli --version
flu-cli add --help配置文件
Flu-CLI 会在以下位置存储配置:
- 缓存目录:
~/.flu-cli/cache/ - 配置文件:
~/.flu-cli/config.json
命名规范
项目名称
- 只能包含小写字母、数字和下划线
- 必须以小写字母开头
- 不能使用 Dart 关键字
bash
# ✅ 正确
my_app
todo_list
shop_2024
# ❌ 错误
MyApp # 不能有大写字母
my-app # 不能有连字符
123app # 不能以数字开头
class # 不能使用关键字文件名称
- 使用 snake_case
- 添加类型后缀
bash
# Page
home_page.dart
user_list_page.dart
# Widget
custom_button_widget.dart
user_card_widget.dart
# ViewModel
home_viewmodel.dart
user_list_viewmodel.dart
# Service
api_service.dart
user_service.dart
# Model
user_model.dart
product_model.dart类名称
- 使用 PascalCase
- 添加类型后缀
dart
// Page
HomePage
UserListPage
// Widget
CustomButtonWidget
UserCardWidget
// ViewModel
HomeViewModel
UserListViewModel
// Service
ApiService
UserService
// Model
User
Product工作目录
重要: 始终在项目根目录执行 flu-cli add 命令。
bash
# ✅ 正确
cd my_app
flu-cli a page home
# ❌ 错误
cd my_app/lib
flu-cli a page home # 会在 lib/lib/pages/ 下生成故障排除
命令卡住
如果命令执行过程中卡住,可以:
- 按
Ctrl+C中止 - 运行
flu-cli cache clean清理缓存 - 重新执行命令
模板拉取失败
bash
# 清理缓存后重试
flu-cli cache clean
flu-cli new my_app
# 或使用本地模板(开发环境)
flu-cli new my_app --no-cache代码片段不生效
VSCode 扩展使用动态代码片段功能,会根据项目配置自动适配:
- 确保已安装 Flu CLI VSCode 扩展
- 打开
.dart文件时扩展会自动激活 - 代码片段会根据
.flu-cli.json配置动态显示 - 如果看不到代码片段,尝试重启 VSCode
更多帮助
- 查看具体命令帮助:
flu-cli <command> --help - 项目文档:flu-cli 文档站
- 问题反馈:GitHub Issues