代码先锋网 代码片段及技术文章聚合

rust wasm 最简单最快速入门填坑

技术标签: rust  rust  wasm

核心是全程使用wasm-pack. 但是wasm-pack 官方安装指南有坑,描述在此

解决方法是cargo install wasm-bindgen-cli
然后:
1 wasm-pack new
2 wasm-pack build --target web
3 创建index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>My Wasm Project</title>
  </head>

  <body>
    <script type="module">
     
      import { default as wasm, greet } from "./pkg/《project name》.js";

      wasm().then((module) => {
        // The boiler plate project comes with a `greet` function that calls:
        // `alert("Hello, hello-wasm!");`
        greet();
      });
    </script>
  </body>
</html>

4 python -m http.server 8000
这样,一个最简单的rust wasm模板就好了。此方法,不需要使用node.js,当然你也可以不用python,只要能够运行index.html的任何静态服务器都可以。

此外还有一个必须要提的,cargo.toml加:

[package.metadata.wasm-pack.profile.dev]
wasm-opt = false

[package.metadata.wasm-pack.profile.release]
wasm-opt = false
原因可以自行google

版权声明:本文为wangmarkqi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangmarkqi/article/details/109378685

智能推荐

【Rust日报】2020-05-18 Castor, WASM, Rust嵌套循环

Castor: 微型互联网浏览器 (Gemini, Gopher, Finger) Castor: A Browser for the small internet (Gemini, Gopher, Finger) https://sr.ht/~julienxx/Castor/ Caster 这是一个用Rust调用GTK库编写的纯文本互联网协议集的图形客户端,目前支持的简单互联网协议包括:Gemi...

WebAssembly+Rust:wasm返回给js的字符串长度看似不对的问题

现象 js调用xxx.wasm中的函数,得到一个字符串。 但字符串的length要比console.log输出的字符串长度大1。 这是什么原因? 解释 笔者通过打印输出字符串中各个字符的charCode发现,xxx.wasm中返回给js的字符串,有的时候是带BOM(Byte Order Mark)的,即字符串的前面有一个charCode为65279的字符,亦即十六进制的0xFEFF。 解决 问题根...

rust+wasm写前端真香之请求数据.md

sealer是阿里巴巴开源的基于kuberentes的集群镜像开源技术,可以把整个集群整体打包。 Sealer Cloud可以在线化帮助用户进行集群打包分享和运行,Sealer cloud前后端也使用了非常先进的 rust+wasm技术实现。 sealer cloud会与docker registry交互,未来你甚至可以把sealer cloud当作docker hub使用。 定义数据结构 可以看...

【Rust日报】2022-04-02 Wasm Web 框架 Spin 发布​

Wasm Web 框架 Spin 发布 我们很高兴宣布我们新的WebAssembly框架Spin。Spin是Fermyon平台的基础部件。这也是开始为云编写WebAssembly的好方法。 什么是wasm框架? 我们认为WebasseMbly主要作为编译目标。选择语言,编写代码,并将其编译为WASM。但是在webassembly中写的是什么类型的代码? 运行webassembly模块的原始方法是在...

Rust 入门

这是Rust入门第一课,我们要学会安装rust,编译一个rust文件,还有如何升级rust工具链 工具安装 下载 适合任何平台 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh mac os 平台 推荐使用brew install rust来安装 验证下载是否成功 rustc --version返回版本信息,则说明rust...

猜你喜欢

Rust 入门

语法 变量 & 常量 变量使用let定义,常量使用const。 变量类型可以自动推导,常量类型必须写明。 变量可以被重新定义(shadow),改变类型或可变性,常量不能重新定义。 普通变量不能修改,可变变量在定义时在let后面加mut。 变量名使用小写字母,中间用_连接,常量名使用大写字母。 变量定义之后必须被使用,否则会报[warn(unused_variables)]。常量未使用则会报...

rust入门

git地址:https://github.com/rust-lang/book/tree/main/src 1、安装 2、Hello World 3、cargo 3.1 cargo常用命令 cargo new :新建一个项目 cargo build:编译项目 cargo run:一次性完成编译和项目运行,如果没有编译就执行编译和运行,如果已经编译,则直接执行运行 cargo check:编译项目,...

Rust 快速入门

Rust 快速入门 基本 变量 - 常量 数据类型 博主是边学边写,有错误请宝贝们指出 基本 Rust官方学习文档(中文): https://kaisery.github.io/trpl-zh-cn/title-page.html 变量 - 常量 基础 隐藏特性 可以说就是重新定义了一个变量,只是名字一样而已,当然它并没有破坏作用域 按官方的话说就是: Rustacean 们称之为第一个变量被第二...

【Rust快速入门】-- 基础

rust快速入门 概述 强类型静态语言 编译型语言,运行性能比较高 运行时内存安全,拥有自己独特所有权管理机制,生命周期等来保证资源的释放等 后端语言 安装 前往官网安装rust编译工具 mac上安装示例 配置vscode环境 安装rls插件 安装native debug插件 安装rust-analyzer插件 配置国内镜像源(编辑~/.cargo/config) 第三方库查询地址 hello w...

Rust开发快速入门

为什么用Rust 避免C++应用内存漏洞多问题 Rust没有GC,实时性和高性能堪比C++ 运行库小,编译二进制文件比Go还要小很多 Rust官方网站 Rust Programming Language Linux安装Rust 系统环境:UBuntu18 安装Rust sudo apt install rustc 查看rust版本 rustc --version 创建Rust项目 mkdir ~/...