V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Geo200
V2EX  ›  Rust

SWC 这一类原生 rust 应用是怎么做到提供给 nodejs 端使用的

  •  
  •   Geo200 · 2022-10-19 10:05:05 +08:00 · 1646 次点击
    这是一个创建于 760 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似 swc 、rome 这一类项目,源码都是使用 rust 实现的,但最后发布的都是一个只有 js 或一个二进制产物(这个二进制又不是.node 原生模块),看了下源码没看到是怎么实现的。如果我也想做一个在 nodejs 端使用的应用,提供的产物用户通过 npm i xxx 即可实现,不需要进行安装时的 build 操作,该如何操作呢?

    目前实验了两个转换工具,但都没有达到 swc 这样的效果:

    1. neon: 需要在执行 npm install 时额外的在户客户端进行 neon build 操作,无法做到一个.node 模块在 windows 、macos 、linux 同时使用

    2. wasm:最后编程产物 wasm 就是跨平台运行产物,但我看了下 swc 里面也没有.wasm 的产物

    3 条回复    2022-10-19 16:46:49 +08:00
    fwh
        1
    fwh  
       2022-10-19 13:14:28 +08:00   ❤️ 1
    Geo200
        2
    Geo200  
    OP
       2022-10-19 14:13:23 +08:00
    @fwh 感谢,我也刚好看到这个实现了,但现在还有个不明白的地方,就是最后产物是不是必须要到具体的平台编译?我在 macOS 下编译最后只有 darwin-x64.node
    dreasky
        3
    dreasky  
       2022-10-19 16:46:49 +08:00   ❤️ 1
    @Geo200 github actions
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:12 · PVG 08:12 · LAX 16:12 · JFK 19:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.