Skip to content

CLI 命令

@ufjs/cli 提供 fjs 命令。项目内用 npx fjs <命令> 或 package.json 脚本调用。fjs --help 打印完整帮助。

创建

fjs create [dir]

创建新项目。

参数说明
--template <name>模板,默认 vue3-vite;另有 ts(纯 TypeScript + element API)
--list-templates列出可用模板
--name <name>package name
--yes使用默认值,跳过交互

fjs create page <name>(别名 fjs g page

生成 src/pages/<name>.vue。名字可以嵌套(comp/button)和带动态段(user/[id])。

参数说明
--title <text>写进 <route> 的标题
--tab <n>写进 <route> 的 tab 序号
--path <route>覆盖推导出的路由路径
--route-name <name>覆盖推导出的路由名
--platform <app|web>限定平台
--dry-run / --force只打印 / 覆盖

fjs create component <Name>

生成 src/components/<Name>.vue。支持 --dry-run / --force

fjs create module <name>

生成 src/modules/<name>:可以直接 npm publish 的模块。见创建模块

参数说明
--component <Name>生成的组件名
--no-component纯 API 模块
--prefix <P>全局组件前缀
--flutter生成 Dart 侧(宿主函数 + Widget + Web 替身)并写好 autolink
--widget <tag>Widget 标签名(隐含 --flutter
--no-widget只要宿主函数
--dry-run / --force只打印 / 覆盖

fjs add <package>...

安装 JS 库并接进项目。见添加插件

参数说明
--list列出支持的库
--dry-run只打印改动
--force覆盖已存在的 src/plugins/<name>.ts
--no-install只改 package.json,不执行安装
--entry <file>要修改的入口文件,默认 src/main.ts

开发

fjs dev [entry]

启动 dev server。

参数说明
--pagesApp 端分包 dev server(fjs go / fjs run 用这个)
--web以浏览器静态站点方式提供
--mp小程序:监听源码增量重建 dist/mp
--port <n>端口,默认 38900(--web 为 5173);被占用时自动递增
--host <addr>绑定地址,默认 0.0.0.0
--no-qr不打印二维码
--no-discovery不在局域网广播(fjs go 的「附近的服务器」看不到)

运行时的终端快捷键:r 完整重建 · l 开关日志 · d 连接数 · c 地址和二维码 · o 打开浏览器 · p 性能面板 · ? 帮助 · q 退出。

fjs run <android|ios|ohos>

创建 / 复用 Flutter 宿主,启动 dev server,执行 flutter run-- 后面的参数透传给 flutter run

参数说明
--release构建 release 字节码,flutter run --release
--profile同上,但 profile 模式(量性能)
--no-minify配合 release / profile:不压缩
--gz配合 release / profile:gzip 资源
--no-pages配合 release / profile:单包构建
--device <id>设备 id
--port <n>dev server 端口
--flutter-dir <dir>宿主目录

fjs devices

列出 fjs run 能用的 Android / iOS / 鸿蒙设备,* 标出默认选择。--json 机器可读。

fjs log

实时查看 App 的 console 输出。--port <n> / --host <addr> 指定 dev server。

fjs eval <expression>

在运行中的 JS 虚拟机里求值。--timeout <ms> 默认 5000。

构建

fjs build [entry]

参数说明
--pages分包:shared.js + bundle.js + pages/<id>.js
--bytecode同时输出 .fjsbundle 字节码
--release字节码 + 同步到 Flutter 宿主 assets
--profile同上,配合 --apk 出 profile 包
--apk配合 release / profile:flutter build apk
--hap配合 release / profile:flutter build hap(鸿蒙)
--gz配合 release:gzip 复制进宿主的字节码
--web浏览器静态站点 → dist/web
--mp微信小程序 → dist/mp
--analyze体积报告
--no-minify不压缩
--out <dir>输出根目录,默认 dist
--flutter-dir <dir>宿主目录

--web--pages 互斥;--mp 必须单独使用。-- 后面的参数透传给 flutter build

项目信息

命令说明
fjs routes [--platform app|web] [--json]打印路由表
fjs modules [--json]解析到的模块、标签和 autolink
fjs doctor环境与项目体检

宿主

命令说明
fjs host [status]宿主在哪、归谁管、包名、flutter_fjs 来源
fjs host create创建 / 更新宿主,不运行
fjs host open <android|ios|ohos>用 Android Studio / Xcode / DevEco 打开
fjs host eject [dir]移进仓库(默认 flutter/),此后不再重写
fjs host sync [--force]重新应用生成版宿主文件
fjs host id [<app.id>]查看 / 设置 applicationId 和 bundle identifier
fjs icon <file.png> [--platform android|ios] [--dry-run]生成应用图标

清理

fjs clean

参数说明
--all连 Flutter 宿主一起删(eject 过的不删)
--dry-run只打印
--out <dir> / --flutter-dir <dir>指定目录(必须在项目内)

环境变量

变量说明
FJSC_PATH字节码编译器 fjsc 的路径

基于 MIT 协议发布