在 Tauri 中,我为特定的桌面应用运行一个 HTTP 服务器,并在开发过程中通过从适当的位置加载相应的 HTML 文件来显示其内容。在构建过程中,Vite 会将此 HTML 文件放置在 dist 文件夹中。
问题是,如何在发布应用程序中引用此文件?
我尝试了一些简单的方法,例如:./../dist/index.client.html
,但没有奏效。经过几次尝试,我开始在线搜索,但我只找到与“资源”相关的解决方案。我以前从未真正使用过 Tauri 的这一部分。
我如何distDir
从 Rust 访问发布应用程序?
let is_release = env::var("APP_ENV").unwrap_or_else(|_| "development".to_string()) == "production";
if is_release {
let html_path = "../dist/index.client.html"; // here
match fs::read_to_string(html_path) {
Ok(html_content) => {
// Success
Ok::<_, warp::Rejection>(warp::reply::html(html_content))
}
Err(_) => {
let html_content = format!(r#"
<html>
<head><title>Error</title></head>
<body>
<h1>Index file not found...</h1>
<p>{}</p>
</body>
</html>
"#, html_path).to_string();
Ok::<_, warp::Rejection>(warp::reply::html(html_content))
}
}
}
发布版本中没有
dist
目录;资产嵌入到应用程序中 - 它们不存在于文件系统中。为了访问它们,您必须使用.asset_resolver()
句柄app
: