当前位置: 首页 > news >正文

龙胜做网站的公司网络营销推广与策划

龙胜做网站的公司,网络营销推广与策划,外贸石材网站,利用博客做网站rust打包wasm文档 文档地址 安装cargo-generate cargo install cargo-generate 安装过程中有问题的话手动安装cargo-generate下载地址 根据自己的系统下载压缩包,然后解压到用户/.cargo/bind目录下,将解压后的文件放到该目录下即可。 创建wasm项目 …

rust打包wasm文档

文档地址

安装cargo-generate

cargo install cargo-generate
安装过程中有问题的话手动安装cargo-generate下载地址
根据自己的系统下载压缩包,然后解压到用户/.cargo/bind目录下,将解压后的文件放到该目录下即可。

创建wasm项目

执行cargo generate --git https://github.com/rustwasm/wasm-pack-template,然后输入项目名即可,然后可以看到本地创建了一个项目,目录如下:

wasm
├── Cargo.toml
├── LICENSE_APACHE
├── LICENSE_MIT
├── README.md
└── src├── lib.rs└── utils.rs

在这里插入图片描述
src/lib.rs是根文件,会被打包编译为wasm

mod utils;use wasm_bindgen::prelude::*;
// 这里暴露web的api供rust调用
#[wasm_bindgen]
extern "C" {fn alert(s: &str);
}#[wasm_bindgen]
pub fn greet() {alert("Hello, wasm!");
}

wasm-bindgen

wasm-bindgen能够让js和rust之间进行交互。
wasm-bindgen文档

下载依赖

cd进项目,然后执行cargo check安装依赖

打包wasm文件

wasm-pack build --target web
wasm-pack文档地址
在这里插入图片描述
这个命令做了以下几件事:
wasm-pack build 将做以下几件事:

  1. 将你的 Rust 代码编译成 WebAssembly。
  2. 在编译好的 WebAssembly 代码基础上运行 wasm-bindgen,生成一个 JavaScript 文件将 WebAssembly 文件包装成一个模块以便 npm 能够识别它。
  3. 创建一个 pkg 文件夹并将 JavaScript 文件和生成的 WebAssembly 代码移到其中。
  4. 读取你的 Cargo.toml 并生成相应的 package.json。
  5. 复制你的 README.md (如果有的话) 到文件夹中。

发布npm

cd pkg
npm publish --access=public
将我们的wasm包发布npm前端直接下载

前端引入wasm

创建项目

vite的项目pnpm create vite vite-wasm --template react-ts
webpack的项目这里我用的rspack,pnpm create rsbuild@latest
然后安装依赖即可

安装wasm依赖

将我们刚刚rust生成的pkg复制到项目中,然后执行pnpm i ./pkg
pnpm i ./pkg安装wasm的依赖

使用方式

1.在rspack项目中

import './App.css';
import wasm from 'wasm'const App = () => {wasm().then(wasm_fn => {wasm_fn.greet()})return (<div className="content">rspack-wasm</div>);
};export default App;

在这里插入图片描述

2.vite中使用,同上一样的使用方式,直接看结果
在这里插入图片描述

总结

  1. 我们先使用cargo generate创建wasm项目模版。
  2. 然后学习了如何使用wasm-pack打包,并介绍了wasm-bindgen,它提供rust和js交互的能力。
  3. 之后介绍了rspack和vite中如何引入使用我们的wasm。
http://www.yayakq.cn/news/799060/

相关文章:

  • 网站备案 怎么建站电商网页设计期末作业模板
  • 建设银行网网站打不开wordpress cpu占用
  • 国外活动策划网站zencart 网站入侵
  • 成都科技网站建设网站头部 标签
  • 网站需要怎么做才能被百度收录中国机械加工网官方
  • 申请免费网站哪个好安康学院的费用
  • 介绍好的电影网站模板下载金富通青岛建设工程有限公司网站
  • 网站中所有标签辽源网站优化
  • mt7620a做网站域名续费价格
  • 泉州做网站设计公司芜湖尚格网络科技有限公司
  • 域名还没备案可以做网站吗自己做的网站提示危险
  • 公司做企业网站须知wordpress换行
  • 怎么兼职做网站wordpress组合模板
  • 网站动画用什么程序做找公司建网站
  • 什邡网站建设公司深圳住房和建设局网站在哪个网
  • 建设工程质量检测机构主管网站如何用php做电商网站
  • 论坛建站如何做网站销售
  • 深圳网络营销网站建设请问哪个网站可以做当地向导
  • 网站建设个人兼职免费注册的网站能备案吗
  • 力洋深圳做网站公司使用wordpress建站
  • 西安 网站建设网站的头尾和导航的公用文件
  • 网站注册费用网站建设预期周期
  • 做网站需要哪些证书wordpress外链图片无法显示
  • 强的网站建设公司排名wordpress轮播图广告
  • wordpress付费建站查询网入口
  • 重庆网站推广公司电话广告设计制作公司名字
  • 网站空间付款方式广州网站建设哪家比较好
  • 手机网站建设价格是多少长春国企招聘网官网
  • 网站建设广州公司搭建网站需要哪些东西
  • 建设企业网站费用psd素材