Skip to content

Commit 34e6bf1

Browse files
committed
update
1 parent cc513c9 commit 34e6bf1

File tree

1 file changed

+24
-11
lines changed

1 file changed

+24
-11
lines changed

crates/rs-tauri-vue/README.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
# Tauri + Vue + Vite Template
22

3-
## Rust 踩坑:
4-
5-
> cargo workspace 问题:
6-
7-
-`子 repo`, 尽量独立, 不要使用`父 workspace`, 会导致 tauri build 失败
8-
- case: sqlx 在 workspace 下, build [依赖报错(误报)](https://github.com/launchbadge/sqlx/issues/1604), 但是单独
9-
build 是可以的
10-
- ❌ workspace 过大, 会导致 IDE 索引宏, 失效
11-
- ❌ 猜测: workspace 公共的lib, 版本(开启 feature)不一致, 在编译时, 会冲突.
12-
- 部分冲突, 是隐式的. cargo clean + build 就会发现很多问题
13-
143
## Rust 插件集成:
154

165
- https://github.com/tauri-apps/awesome-tauri#plugins
@@ -50,6 +39,30 @@
5039
- [tokio-tungstenite](https://github.com/snapview/tokio-tungstenite)
5140
- 当前社区首选
5241

42+
## Rust 踩坑:
43+
44+
> cargo workspace 问题:
45+
46+
-`子 repo`, 尽量独立, 不要使用`父 workspace`, 会导致 tauri build 失败
47+
- case: sqlx 在 workspace 下, build [依赖报错(误报)](https://github.com/launchbadge/sqlx/issues/1604), 但是单独
48+
build 是可以的
49+
- ❌ workspace 过大, 会导致 IDE 索引宏, 失效
50+
- ❌ 猜测: workspace 公共的lib, 版本(开启 feature)不一致, 在编译时, 会冲突.
51+
- 部分冲突, 是隐式的. cargo clean + build 就会发现很多问题
52+
53+
> sqlx 问题:
54+
55+
-`sqlx::query!() vs sqlx::query()`
56+
- query!() 宏误报 `找不到 db`, 而 query() 方法写法不会误报
57+
- new() 方法中含有 db conn 初始化
58+
- 猜测 query!() 是编译期, 尝试找 db conn, 而 query() 是运行时, 所以不会报错.
59+
- ❌ 故不建议在 app + sqlite 代码中使用 query!() 宏,
60+
- 搜索 GitHub 代码, 发现大多数人, 也都不用 query!().
61+
[ - 官方 example 给的示例代码, 误导人.
62+
- query() 方法, 虽然用起来, 稍微麻烦一点, 但是运行时检测 db conn, 是更安全的.
63+
- 在运行时动态创建 sqlite 是很正常的.
64+
- 当然, 如果是写 sever 代码(远程连 mysql 这种), 继续使用 query!() 宏, 应该没问题(db一般都预创建好了)
65+
5366
## Vue.js 集成:
5467

5568
- [package.json](package.json)

0 commit comments

Comments
 (0)