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

2022-10-19 10:05:05 +08:00
 Geo200

类似 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 的产物

1643 次点击
所在节点    Rust
3 条回复
fwh
2022-10-19 13:14:28 +08:00
Geo200
2022-10-19 14:13:23 +08:00
@fwh 感谢,我也刚好看到这个实现了,但现在还有个不明白的地方,就是最后产物是不是必须要到具体的平台编译?我在 macOS 下编译最后只有 darwin-x64.node
dreasky
2022-10-19 16:46:49 +08:00
@Geo200 github actions

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/888021

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX