1 Star 0 Fork 0

苏忆 / rust-wasm+webpack5

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

A.rust构建wasm

1.构建项目

cargo new --lib hello-wasm

2.示例代码src/lib.rs

    extern crate wasm_bindgen;
    use wasm_bindgen::prelude::*;
    #[wasm_bindgen]
    extern {
        //在 Rust 中调用来自 JavaScript 的外部函数
        pub fn alert(s: &str);
    }
    //提供外面调用方法
    #[wasm_bindgen]
    pub fn greet(name: &str) {
        alert(&format!("Hello, {}!", name));
    }

3.打包方式

打成可以直接调用方式

    wasm-pack build --target web

打包并推送node仓库

    wasm-pack build --scope 仓库名称

B.使用wasm

1.配置webpack.config.js (此示例添加到的配置webpack.common.js)

2.在 Webpack5 中,resolve.extensions 默认值为 ['.js', '.json', '.wasm']

    module.exports = {
    //...
    experiments: {
        asyncWebAssembly: true,
    },
    resolve: {
        extensions: ['.wasm'...]
    }
    //...
    }

3.这里用的是直接使用的方式将rust打包后的pkg的文件复制到==》wasm文件所在 src/utils/is_button-wasm

4.具体引用和调用

import init, { greet } from './is_button-wasm/is_button_wasm'
export async function run_wasm(str) {
    await init()
    greet(str)
}

空文件

简介

第一个wasm库 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Rust
1
https://gitee.com/suyibk/rust-is_button-wasm.git
git@gitee.com:suyibk/rust-is_button-wasm.git
suyibk
rust-is_button-wasm
rust-wasm+webpack5
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891