cj-tauri 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -4
- package/cjpm.toml +1 -1
- package/cli/cjpm.toml +1 -1
- package/cli/src/project.cj +1 -1
- package/package.json +1 -1
- package/prebuilt/win32-x64/cj-tauri.exe +0 -0
- package/src/version.cj +1 -1
package/README.md
CHANGED
|
@@ -40,18 +40,64 @@ npx cj-tauri dev # 构建 C 桥 + cjpm build + 启动窗口
|
|
|
40
40
|
npx cj-tauri create myapp-vue --template vue # Vue 3 + Vite
|
|
41
41
|
npx cj-tauri create myapp-react --template react # React 18 + Vite
|
|
42
42
|
|
|
43
|
+
npx cj-tauri create myohos --template ohos # 鸿蒙 PC(2in1)工程:ArkWeb 宿主 + build-hap.sh
|
|
44
|
+
npx cj-tauri create myohos --template ohos --bundle com.example.myapp --label "我的应用"
|
|
45
|
+
|
|
43
46
|
npm i -g cj-tauri # 也可以全局安装,之后直接用 cj-tauri <子命令>
|
|
44
47
|
```
|
|
45
48
|
|
|
46
49
|
| 子命令 | 作用 |
|
|
47
50
|
|---|---|
|
|
48
|
-
| `create <项目名> [--template app\|vue\|react]` |
|
|
49
|
-
| `dev` | 构建 C 桥 + `cjpm build` + 启动应用;Vite 模板会接管 dev server(HMR
|
|
50
|
-
| `build` | 构建 C 桥 + `cjpm build` |
|
|
51
|
-
| `run` |
|
|
51
|
+
| `create <项目名> [--template app\|vue\|react\|ohos]` | 生成工程(桌面模板:`src/` + `ui/` + `capabilities/` + `cjpm.toml`;`ohos` 见下一节) |
|
|
52
|
+
| `dev` | 构建 C 桥 + `cjpm build` + 启动应用;Vite 模板会接管 dev server(HMR);鸿蒙工程转交 `build-hap.sh` |
|
|
53
|
+
| `build` | 构建 C 桥 + `cjpm build`;鸿蒙工程转交 `build-hap.sh` |
|
|
54
|
+
| `run` | 运行已构建产物;鸿蒙工程转交 `build-hap.sh --install`(构建 + 装机 + 启动) |
|
|
52
55
|
| `info` | 环境自检(排障先跑它) |
|
|
53
56
|
| `help` | 帮助 |
|
|
54
57
|
|
|
58
|
+
## 鸿蒙 PC(`--template ohos`)
|
|
59
|
+
|
|
60
|
+
同一套框架换个宿主:桌面用 WebView2 / WebKitGTK,鸿蒙 PC 用 **ArkWeb**,上层页面、命令层、能力校验不用改。
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx cj-tauri create myohos --template ohos
|
|
64
|
+
cd myohos
|
|
65
|
+
bash build-hap.sh --install # 构建 hap + hdc 装机 + aa start;等价于 npx cj-tauri run
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
生成的是标准 DevEco 工程(`entry/` + `AppScope/` + `build-profile.json5` + `hvigorfile.ts`),
|
|
69
|
+
鸿蒙相关的那层很薄:
|
|
70
|
+
|
|
71
|
+
| 路径 | 作用 |
|
|
72
|
+
|---|---|
|
|
73
|
+
| `entry/src/main/cangjie/main_ability.cj` | UIAbility:`ArkWebRuntime.configure(filesDir)` → 非 UI 线程 `spawn { run() }` → 等宿主登记再 `loadContent` |
|
|
74
|
+
| `entry/src/main/cangjie/index.cj` | `@Component` 的 ArkWeb 宿主 + 双向桥(**必须住应用模块**,框架包引用 ArkUI 会启动即崩) |
|
|
75
|
+
| `entry/src/main/resources/rawfile/` | `index.html`(页面真文件)与 `capabilities.json`(能力清单) |
|
|
76
|
+
| `build-hap.sh` | 唯一构建入口:探测 DevEco / stdx、`--no-daemon` 跑 hvigor、可选 `--install` |
|
|
77
|
+
|
|
78
|
+
前置两件事:
|
|
79
|
+
|
|
80
|
+
- **DevEco Studio 6.1**(含仓颉插件)+ 已配好签名。`build-hap.sh` 用 `DEVECO_WIN` 找安装根
|
|
81
|
+
(默认 `D:\oh\DevEcoStudio`),用 `CANGJIE_STDX_OHOS` 找鸿蒙版 stdx 动态库;两者给不出时脚本会直接说清楚缺哪个。
|
|
82
|
+
- 真机开着**开发者模式 + USB 调试**,`hdc` 能列到设备;`aa start` 需要**屏幕已解锁**。
|
|
83
|
+
|
|
84
|
+
工程默认是桌面形态:`module.json5` 的 `deviceTypes` 写 `2in1`,并在 `entry/build-profile.json5` 里
|
|
85
|
+
`cangjieOptions.checkDeviceTypes = false`(插件默认只放行 `phone` / `tablet`,写 `2in1` 会判 `01103012`);
|
|
86
|
+
窗口**不干预尺寸**,沿用系统给的默认矩形(实测本机 `2090×1394`,约屏宽 2/3 且居中)。
|
|
87
|
+
|
|
88
|
+
已知限制:签名要在 DevEco 里配(命令行不做自动签名,换 `bundleName` 需重新签);同一份调试签名下两个
|
|
89
|
+
工程会互相顶掉安装位;单窗口、暂无原生对话框(那两条能力位如实返回 0);没有可用的 C 桥,
|
|
90
|
+
`launchHidden` / 串口 / 托盘这类宿主能力在鸿蒙上不提供。
|
|
91
|
+
|
|
92
|
+
真机上怎么自证它通了(hilog,`CjTauri` tag):
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
host registered after N polls label=main
|
|
96
|
+
host pageUrl label=main url="file:///.../files/cj-tauri-main.html"
|
|
97
|
+
page begin label=main
|
|
98
|
+
main window keeps system default 2090x1394 px at density 190% on screen 3120x2080
|
|
99
|
+
```
|
|
100
|
+
|
|
55
101
|
## 这个包装层做了什么
|
|
56
102
|
|
|
57
103
|
- **跨平台入口**:Windows / Linux / Git Bash 都是同一条 `cj-tauri` 命令,不再分 `.bat` 与 `.sh`;
|
package/cjpm.toml
CHANGED
package/cli/cjpm.toml
CHANGED
package/cli/src/project.cj
CHANGED
package/package.json
CHANGED
|
Binary file
|
package/src/version.cj
CHANGED