我正在使用 Rust 构建一个简单的网络应用程序,并尝试在网站上显示图像。但我无法添加该图像。
我将 Rust 与名为Yew的框架和工具Trunk一起使用。
索引.html
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Yew Development</title>
<link data-trunk="" rel="scss" href="main.scss"> <!-- Successfull linked to this file -->
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)
.scss 文件成功完成其工作。
但是如何使用宏显示带有 Rust 文件的图像呢html!?
主程序.rs
use yew::prelude::*;
fn main() {
yew::start_app::<App>();
}
#[function_component(App)]
fn app() -> Html {
html! {
<>
<h1> {"Hello world!"}</h1>
<link data-trunk="true" rel="copy-file" href="img/rust.png"/> // doesn't work …Run Code Online (Sandbox Code Playgroud) 我正在研究 Rust 并查看 Yew 框架(Rust 的前端框架)的这些简单说明: https: //yew.rs/docs/tutorial。
\n我按照说明进行操作,直到收到命令
\ntrunk serve --open\nRun Code Online (Sandbox Code Playgroud)\n然而,某处出现故障。
\n这就是我得到的:
\ntrunk serve --open\nRun Code Online (Sandbox Code Playgroud)\n这是我的 Cargo.toml 文件:
\n2022-05-06T19:07:54.087214Z INFO starting build\n2022-05-06T19:07:54.087870Z INFO spawning asset pipelines\n2022-05-06T19:07:54.168329Z INFO building yew-app\n Finished dev [unoptimized + debuginfo] target(s) in 0.01s\n2022-05-06T19:07:54.232154Z INFO fetching cargo artifacts\n2022-05-06T19:07:54.295124Z INFO processing WASM for yew-app\n2022-05-06T19:07:54.301974Z INFO downloading wasm-bindgen version="0.2.80"\n2022-05-06T19:07:54.302269Z ERROR \xe2\x9d\x8c error\nerror from HTML pipeline\n\nCaused by:\n 0: error from asset pipeline\n 1: failed downloading release archive\n 2: unsupported architecture\n2022-05-06T19:07:54.302531Z …Run Code Online (Sandbox Code Playgroud) 我尝试按照https://dev.to/arctic_hen7/how-to-set-up-tailwind-css-with-yew-and-trunk-il9中描述的步骤在 Yew 中使用 Tailwind CSS,但是它不起作用。
我的测试项目文件夹:
货物.toml:
[package]
name = "yew-tailwind-app"
version = "0.1.0"
edition = "2021"
[dependencies]
yew = { version = "0.19" }
Run Code Online (Sandbox Code Playgroud)
索引.html:
<!DOCTYPE html>
<html lang="en">
<head>
<link data-trunk href="./tailwind.css" rel="css" />
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
main.rs中的代码:
use yew::prelude::*;
#[function_component(App)]
fn app() -> Html {
html! {
<>
<h1>{ "Hello World" }</h1>
<p class={ classes!("bg-red-500") }>{"Test!"}</p>
</>
}
}
fn main() {
yew::start_app::<App>();
}
Run Code Online (Sandbox Code Playgroud)
但我在“测试!”中没有看到红色背景颜色。你能帮我吗?
运行docker build -t <IMAGE_NAME> .然后运行docker run -p 8080:8080 <IMAGE_NAME>日志到控制台,它可以工作,但 127.0.0.1:8080 不显示客户端
Dockerfile:
FROM rust:1.60.0-slim-buster
WORKDIR /app
COPY . .
RUN rustup target add wasm32-unknown-unknown
RUN cargo install --locked --version 0.15.0 trunk
RUN trunk build --release
EXPOSE 8080
CMD ["trunk", "serve", "--release"]
Run Code Online (Sandbox Code Playgroud)
Cargo.toml
[package]
name = "yew-whos-that-pokemon-client"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
getrandom = { version = "0.2.4", features = ["js"] }
rand = "0.8.5"
reqwest …Run Code Online (Sandbox Code Playgroud) rust ×4
trunk-rs ×4
yew ×4
containers ×1
docker ×1
tailwind-css ×1
wasm-bindgen ×1
webassembly ×1