安装与使用
2026/5/17大约 3 分钟euvuirustwasmcliinstall
安装
cargo install euv-cli命令格式
euv-cli 支持三种子命令:run / build / fmt:
# 构建 + 文件监视 + 开发服务器
euv-cli run [选项]
# 仅构建
euv-cli build [选项]
# 格式化 euv 宏调用
euv-cli fmt [选项]run 和 build 命令后可附加 wasm-pack 参数,使用 -- 分隔:
# 传递 wasm-pack 参数(如 --release 进行优化构建)
euv-cli run --crate-path ./example --www-dir ./www -- --release
# 仅优化构建
euv-cli build --crate-path ./example --www-dir ./www -- --release使用示例
# 运行(调试构建 + 热重载服务器)
euv-cli run --crate-path ./example --www-dir ./www --port 3000
# 仅构建
euv-cli build --crate-path ./example --www-dir ./www
# 优化构建 + 服务器
euv-cli run --crate-path ./example --www-dir ./www --port 3000 -- --release
# 传递其他 wasm-pack 参数(如 --out-dir)
euv-cli run --crate-path ./example --www-dir ./www -- --out-dir www/pkg
# 格式化 euv 宏调用(html!、class!、css_vars!、watch!)
euv-cli fmt --path ./src
# 检查格式化是否需要(不修改文件)
euv-cli fmt --path ./src --check
# 通过 cargo 运行
cargo run -p euv-cli -- run --crate-path ./example --www-dir ./www --port 3000run/build 命令行参数
| 参数 | 简写 | 默认值 | 说明 |
|---|---|---|---|
--crate-path | -c | . | Rust crate 路径 |
--www-dir | www | 静态文件目录(相对于 crate-path) | |
--port | -p | 3000 | 开发服务器端口 |
-- ... | 透传给 wasm-pack build 的参数 |
提示
run 模式提供热重载功能,文件修改后自动重新编译和刷新浏览器。build 仅执行构建,不启动服务器。需要 --release 优化构建时,通过 -- 透传给 wasm-pack。
fmt 命令行参数
| 参数 | 简写 | 默认值 | 说明 |
|---|---|---|---|
--path | -p | . | 要格式化的目录或文件路径 |
--check | false | 仅检查是否需要格式化,不修改文件 |
启动流程
euv-cli 在启动时会自动执行以下操作:
- 自动格式化 — 启动时会先对
src目录下的所有.rs文件执行内置格式化(支持html!、class!、css_vars!、var!宏),然后自动检测并运行hyperlane-cli fmt(如未安装会自动通过cargo install hyperlane-cli安装) - WASM 构建 — 执行
wasm-pack build --target web编译项目 - 开发服务器 — 仅
run模式启动,自动注入热重载脚本并开启文件监视
自动生成 index.html
如果 www-dir 目录下不存在 index.html,euv-cli 会自动生成一个默认模板:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>euv app</title>
</head>
<body>
<div id="app"></div>
<script type="module">
import init, { main } from './pkg/euv_example.js';
await init();
main();
</script>
</body>
</html>提示
你可以在 www 目录下放置自定义的 index.html,euv-cli 会在其中注入热重载脚本(在 </body> 标签前),无需手动添加。
访问应用
启动后在浏览器中访问:
http://127.0.0.1:<port>/<www-dir>/index.html例如使用默认参数时:
http://127.0.0.1:3000/www/index.html注
访问路径中的 <www-dir> 与 --www-dir 参数值一致。如果 --www-dir 设为 static,则访问 http://127.0.0.1:3000/static/index.html。
.gitignore 过滤
euv-cli 会读取项目根目录(--crate-path 指定的路径)下的 .gitignore 文件,自动忽略被排除的文件变更事件,避免不必要的重新编译。