Rumah hujung hadapan web tutorial js Penukar mata wang dalam Rust WebAssembly

Penukar mata wang dalam Rust WebAssembly

Dec 05, 2024 am 06:01 AM

Currency converter in Rust   WebAssembly

Hai semua orang dalam siaran ini saya akan menunjukkan kepada anda cara membuat penukar mata wang mudah yang ditulis dalam Rust dengan WebAssembly, mula-mula anda perlu memasang Rust menggunakan laman web rasmi Rust di bawah untuk tingkap :

(https://www.rust-lang.org/tools/install)

Selepas anda memasang Rust berjaya, kami perlu memastikan kami memasang WASM atau WebAssembly menggunakan arahan di bawah dengan membuka Windows Powershell dan jalankannya sebagai pentadbir:

pek wasm pasang kargo

Kargo ialah sistem binaan dan pengurus pakej untuk Rust.

Kami memasang pek Wasm atau WebAssembly untuk menjalankan Rust on Web view dan menjalankan kod HTML jadi selepas berjaya memasang WebAssembly dalam Windows Powershell pilih laluan yang anda mahu buat fail untuk Rust dan kemudian taip arahan di bawah untuk mencipta folder dan fail yang diperlukan:

kargo baharu **nama folder pilihan anda di sini** --lib
ini akan mencipta nama folder dan fail yang diperlukan untuk Rust dijalankan dengan WebAssembly.

Kemudian kita perlu mengubah suai fail Cargo.toml yang terletak dalam folder anda yang anda buat dengan arahan di atas, klik kanan dan edit Saya menggunakan notepad (untuk memuat turun notepad gunakan pautan ini (https://notepad-plus-plus.org /) jadi anda akan mendapat pilihan untuk mengedit fail terus.

dalam fail Cargo.toml tulis ini di dalamnya:

[dependencies]
reqwest = { version = "=0.11.7", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"

[dev-dependencies]
wasm-bindgen-test = "0.3"

[lib]
crate-type = ["cdylib"]

Salin selepas log masuk

Kemudian di dalam folder src yang terletak di dalam folder utama anda yang mula-mula dibuat dengan arahan Cargo, anda akan menemui fail lain yang kami perlukan untuk mengeditnya dipanggil lib.rs dalam fail ini kami akan menulis kod Rust:

use wasm_bindgen::prelude::*;
use wasm_bindgen_futures::JsFuture;
use reqwest::Error;
use serde::Deserialize;
use std::collections::HashMap;

#[derive(Deserialize)]
struct ExchangeRates {
    rates: HashMap<String, f64>,
}

#[wasm_bindgen]
pub async fn convert_currency(base: String, target: String, amount: f64) -> Result<JsValue, JsValue> {
    let url = format!("https://api.exchangerate-api.com/v4/latest/{}", base);

    let response = reqwest::get(&url)
        .await
        .map_err(|err| JsValue::from_str(&format!("Failed to fetch rates: {}", err)))?;

    let rates: ExchangeRates = response.json()
        .await
        .map_err(|err| JsValue::from_str(&format!("Invalid response format: {}", err)))?;

    if let Some(&rate) = rates.rates.get(&target) {
        let converted = amount * rate;
        Ok(JsValue::from_f64(converted)) // Return the converted amount
    } else {
        Err(JsValue::from_str(&format!("Currency {} not found", target)))
    }
}

Salin selepas log masuk

Kemudian kita akan sampai ke bahagian di mana kita perlu mencipta folder dan fail yang diperlukan untuk paparan web.
Buka Powershell kemudian navigasi ke laluan folder anda pastikan anda berada di dalam folder utama yang anda buat dengan arahan baharu Cargo kemudian jalankan arahan ini:

pembinaan wasm-pack --sasarkan web

Ini akan mencipta folder bernama pkg dan sasaran serta fail lain.

Kemudian pada folder utama anda yang anda buat dengan nama folder baharu kargo di sini --lib buat fail HTML bernama index.html di dalamnya tulis kod ini:

<!DOCTYPE html>
<html lang="en">
<kepala>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Penukar Mata Wang</title>
  <gaya>
    badan {
      font-family: Arial, sans-serif;
      warna latar belakang: #f0f8ff;
      margin: 0;
      padding: 0;
      paparan: flex;
      justify-content: pusat;
      align-item: tengah;
      ketinggian: 100vh;
    }

    .bekas {
      latar belakang: #ffffff;
      bayang-kotak: 0 4px 6px rgba(0, 0, 0, 0.1);
      jejari sempadan: 10px;
      padding: 20px 30px;
      lebar: 350px;
      text-align: tengah;
    }

    h1 {
      warna: #333;
      jidar bawah: 20px;
    }

    label {
      paparan: blok;
      jidar: 10px 0 5px;
      font-weight: tebal;
      warna: #555;
    }

    input {
      lebar: 100%;
      padding: 10px;
      jidar bawah: 15px;
      sempadan: 1px pepejal #ccc;
      jejari sempadan: 5px;
      saiz fon: 16px;
    }

    butang {
      lebar: 100%;
      padding: 10px;
      warna latar belakang: #007bff;
      sempadan: tiada;
      jejari sempadan: 5px;
      warna: putih;
      saiz fon: 16px;
      kursor: penunjuk;
      peralihan: warna latar belakang 0.3s;
    }

    butang:tuding {
      warna latar belakang: #0056b3;
    }

    .hasil {
      jidar atas: 20px;
      saiz fon: 18px;
      warna: hijau;
      font-weight: tebal;
    }

    .error {
      jidar atas: 20px;
      saiz fon: 16px;
      warna: merah;
    }
  </style>
</head>
<badan>
  <div>



<p>Pastikan bahawa baris ini mengimport init, { convert_currency } daripada "../pkg/**nama folder anda.js**"; fail javascript ditemui dalam folder pkg pastikan ia menunjuk ke fail .js yang betul biasanya ia dinamakan selepas nama folder utama anda berakhir dengan .js ditemui di dalam folder pkg.</p>

<p>Untuk menjalankan pelayan anda pada mesin tempatan, navigasi ke folder utama anda yang kami buat dengan kargo baharu **nama folder di sini** --lib dan jalankan arahan ini untuk memulakan pelayan pada mesin anda:<br>
python -m http.server<br><br>
untuk memasang python rujuk <br>
(https://www.python.org/downloads/windows/)</p>

<p>selepas menjalankan arahan, buka pelayar web pilihan anda dan taip localhost:8000 atau 127.0.0.1:8000 dan masukkan.</p>

<p>Anda perlu memasukkan kod mata wang untuk itu semak tapak web ini:<br>
https://taxsummaries.pwc.com/glossary/currency-codes</p>

<p>Semoga anda menikmatinya dan mohon maaf atas catatan yang panjang.</p>


          

            
        
Salin selepas log masuk

Atas ialah kandungan terperinci Penukar mata wang dalam Rust WebAssembly. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles