Dans ce tutoriel, nous apprendrons comment exécuter une application Rust dans un navigateur Web. Nous allons créer un package Rust simple, le compiler dans WebAssembly (WASM) et l'intégrer dans une page HTML.
1. Installer Rust
Tout d’abord, vous devez installer Rust. Veuillez vous référer au guide d'installation officiel de Rust : Guide d'installation de Rust. Une fois l'installation terminée, exécutez la commande suivante pour vérifier si l'installation a réussi :
<code class="language-bash">rustc --version</code>
2. Créer un package Rust
Ensuite, créez un nouveau package Rust :
<code class="language-bash">cargo new rust-101 --lib</code>
Cela générera la structure de dossiers suivante :
<code>├── Cargo.toml └── src └── lib.rs</code>
Cargo.toml
: Fichier de configuration du projet, similaire à package.json
en JavaScript. lib.rs
: Le fichier de bibliothèque principal contenant le code Rust. Ouvrez le fichier lib.rs
. Par défaut, il contient un exemple de fonction add
. Notre objectif est d'appeler cette fonction depuis l'application web.
3. Compiler Rust vers WebAssembly
Pour exécuter du code Rust sur le Web, vous devez le compiler sur WebAssembly (WASM). Pour cela, installez l'outil wasm-pack
:
<code class="language-bash">cargo install wasm-pack</code>
4. Établir la communication entre Rust et JavaScript
Pour connecter Rust et JavaScript, nous utiliserons la wasm-bindgen
crate. Le fichier Cargo.toml
mis à jour est le suivant :
<code class="language-toml">[package] name = "rust-101" version = "0.1.0" edition = "2021" [lib] crate-type = ["cdylib"] [dependencies] wasm-bindgen = "0.2"</code>
Ici :
crate-type = ["cdylib"]
: Configurez le package pour générer des bibliothèques dynamiques compatibles avec WebAssembly. wasm-bindgen
: Permet la communication entre Rust et JavaScript. Installer les dépendances :
<code class="language-bash">cargo build</code>
5. Mettre à jour le code Rust
Modifiez le fichier src/lib.rs
pour que la fonction add
soit accessible depuis JavaScript :
<code class="language-rust">use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn add(left: u64, right: u64) -> u64 { left + right }</code>
#[wasm_bindgen]
: expose les fonctions add
à JavaScript. Exécutez la commande suivante pour compiler le package Rust dans WebAssembly :
<code class="language-bash">wasm-pack build --target web</code>
Cette commande :
pkg/
contenant les fichiers générés. 6. Utiliser des packages dans les pages Web
Créez un fichier index.html
dans le répertoire racine du projet avec le contenu suivant :
<code class="language-html"><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello Rust</title> </head> <body> <script type="module"> import init, { add } from "./pkg/rust_101.js"; init().then(() => { const sum = add(5, 10); console.log("5 + 10 =", sum); }); </script> </body> </html></code>
7. Structure finale du projet
Après avoir terminé les étapes ci-dessus, la structure de votre projet devrait ressembler à ceci :
<code>. ├── Cargo.lock ├── Cargo.toml ├── index.html ├── pkg │ ├── package.json │ ├── rust_101.d.ts │ ├── rust_101.js │ ├── rust_101_bg.wasm │ └── rust_101_bg.wasm.d.ts └── src └── lib.rs</code>
8. Démarrez la page Web
Pour exécuter une page Web, vous devez utiliser un serveur Web local pour la servir. Vous pouvez utiliser n'importe quel serveur Web de votre choix, tel que l'extension Live Server (VS Code).
Dans la console du navigateur (Ctrl Shift J ou Cmd Option J), vous devriez voir :
<code class="language-bash">rustc --version</code>
c'est tout! J'espère que ce tutoriel vous aidera. Veuillez partager vos commentaires ou vos questions à tout moment!
Référence:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!