V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Honwhy
V2EX  ›  分享创造

使用 Rust+wasm-pack+Vite+svelte 组合拳的例子

  •  
  •   Honwhy · 2023-05-10 22:53:12 +08:00 · 2447 次点击
    这是一个创建于 590 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 Rust+wasm-pack+Vite+svelte 组合拳的例子

    验证 Rust 编写的 wasm ,可以发布到 npmjs.org 并且可以给 web 项目使用

    • 步骤要点

    Rust 项目编码打包

    wasm-pack build --target bundler #这么打包方便 webpack vite 等工具处理 wasm 在 web 中加载的问题
    wasm-pack login
    wasm-pack publish
    

    项目中使用

    npm create vite@latest # 选择 vite+svelte 模板
    

    然后加入依赖等

    npm install --save @honwhy/urlsafe-base64
    npm install --save-dev vite-plugin-wasm
    

    然后调整vite.config.js文件

    import wasm from "vite-plugin-wasm";
    export default defineConfig({
      plugins: [svelte(),wasm()],
    })
    
    

    启动测试

    npm run dev
    
    5 条回复    2023-09-24 19:59:03 +08:00
    GreatAuk
        1
    GreatAuk  
       2023-05-11 00:15:56 +08:00
    性能有明显优势吗?相对原生 js
    Honwhy
        2
    Honwhy  
    OP
       2023-05-11 00:59:08 +08:00
    @GreatAuk 从我了解到的情况是的,但我这个 demo 作品只是首先将理论验证了,后续可以安排下性能测试。
    xiaoxiuaoliang
        3
    xiaoxiuaoliang  
       2023-05-11 08:59:16 +08:00 via Android
    关注
    xieren58
        4
    xieren58  
       2023-05-11 11:29:36 +08:00   ❤️ 1
    svelte -> solidjs
    studyingss
        5
    studyingss  
       2023-09-24 19:59:03 +08:00
    花了两天时间,找了一堆资料,搜到这个帖子终于弄好了。
    还有一种方法貌似是用 target web ,一直弄不好。https://github.com/rustwasm/wasm-bindgen/issues/3306
    vite-plugin-wasm 还不支持 ts 。
    菜鸟学 rust 真是痛苦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2784 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:10 · PVG 22:10 · LAX 06:10 · JFK 09:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.