[英]What is the preferred way to publish a wasm library on npm?
有没有一种好的方法来发布在npm上使用wasm二进制文件的库?
到目前为止,我遇到了几个问题。 理想情况下,我想要的是:
对用户完全透明 。 他们可以简单地npm install
软件包,然后import {my_function} from my_package
,甚至不必担心该软件包是否使用wasm二进制文件。
与所有主要资产捆绑器兼容 。 无论用户使用的是webpack , rollup , parcel还是其他东西,他都不必配置任何内容即可将其打包在wasm文件中,与其他资产一起分发,并从我的库中进行访问。
高效的 。 理想情况下,wasm文件不会 内联到js文件中,因此可以以流方式对其进行解析和编译。 这一点没有其他方面重要,但是能够充分利用wasm提供的所有速度将非常不错。
我认为这很大程度上取决于您开始使用的生态系统和语言。我熟悉的一个途径是将Rust移植到wasm的项目 。 从他们的文档中可以看出,他们的过程实现了您对用户透明的第一个要点。
而且似乎他们的过程提供了通过JavaScript来访问wasm
文件的绑定 ,而不是内联。 它将照顾您的子弹以提高效率 。
他们的工作流程仅为npm创建基本文件(package.json和构建/依赖项的详细信息)。 如果应用程序直接import wasm from 'library/src/library.wasm'
文件( import wasm from 'library/src/library.wasm'
我可以看到资产wasm
存在问题。 但是,您可以使用一些谷歌搜索功能为列出的所有捆绑程序添加插件。 我不确定您是否想在库本身中添加这些插件,或者是正确的方法。 因此,我不确定您在这里的第二点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.