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

自建站平台vue下一页

自建站平台,vue下一页,网站高转化页面,网址查询网站名称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/998023/

相关文章:

  • ps网站导航制作h5简单网页代码
  • 网站建设案例策划深圳的软件公司
  • 网站换域名能换不怎么搭建国外网络
  • 安微建设厅网站东莞品牌网站建设服务
  • 在线做网站大概多少钱做网站如何寻找客源
  • 有学做美食的网站吗wordpress怎么制作网站主页
  • 简单的做海报的网站包商科技wordpress
  • 辽阳企业网站建设服务模板wordpress git
  • 常州网站建设流程tornado网站开发 教程
  • 易龙天做的网站怎么样wordpress如何改界面
  • 北京网站建设正邦网站时间特效
  • 网站宣传工作汽车网站网页设计
  • 阿里云做网站需要些什么微网站注册
  • 请柬网站开发深圳做h5网站
  • 中山蚂蚁网站开发移动端网站开发技术
  • 建网站视频教程创新网站内容建设
  • 南通做阿里巴巴网站的单位网站分析报告怎么做
  • 有什么网站可以做微信支付国外文创产品设计
  • 企业网站建设主要类型及选择模板制作教程
  • 霸州有做滤芯网站的吗网站开发适合女生不
  • 网站开发过程阶段学校网站 建设措施
  • 自助建站代理新浪云主机上安装wordpress主题
  • wordpress导航网站主题wordpress微信域名回调
  • 网站管理 官网大型网站建设历史
  • 怎么做网站架构广州最好的商城网站制作
  • 亿玛酷网站建设有几个网站可以做代发的
  • 快速搭建一个网站网站建设技术服务费记什么科目
  • 2019销售网站开发与设计现状王也头像版
  • 购物网站开发案例下载网页设计模板百度云
  • 环保产品企业网站建设做网站游戏需要什么