wasm-pack

📦✨ your favorite rust -> wasm workflow tool!
授权协议 View license
开发语言 Rust
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 戚阳曜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

�� wasm-pack

Your favorite Rust → Wasm workflow tool!

Build Status

Docs | Contributing | Chat

Built with �� �� by The Rust and WebAssembly Working Group

About

This tool seeks to be a one-stop shop for building and working with rust-generated WebAssembly that you would like to interop with JavaScript, in thebrowser or with Node.js. wasm-pack helps you build rust-generatedWebAssembly packages that you could publish to the npm registry, or otherwise usealongside any javascript packages in workflows that you already use, such as webpack.

This project is a part of the rust-wasm group. You can find more info byvisiting that repo!

�� Prerequisities

This project requires Rust 1.30.0 or later.

Quickstart Guide

Visit the quickstart guide in our documentation.

��️ Commands

  • new: Generate a new RustWasm project using a template
  • build: Generate an npm wasm pkg from a rustwasm crate
  • test: Run browser tests
  • pack and publish: Create a tarball of your rustwasm pkg and/or publish to a registry

�� Logging

wasm-pack uses env_logger to produce logs when wasm-pack runs.

To configure your log level, use the RUST_LOG environment variable. For example:

RUST_LOG=info wasm-pack build

�� Contributing

Read our guide on getting up and running for developing wasm-pack, andcheck out our contribution policy.

��‍♀️ Governance

This project is part of the rustwasm Working Group.

This project was started by ashleygwilliams and is co-maintained by ashleygwilliams, drager and the Rust Wasm Working Group Core Team.

  • 腾讯安全中心的一个"码上种树"活动里遇到了一道题,用的是WebAssembly。 放一个测试的wasm地址:test.wasm 之前没有接触过,上网查了一下之后发现都是通过wabt(WebAssembly二进制工具包)中的wasm2c进行转换: 在线转换地址 转换结果: (module (type $t0 (func (param i32 i32) (result i32))) (impo

  • WASM操作DOM 上一个例子,新建了一个最简单的wasm应用并在浏览器里运行起来,这一篇,用wasm在页面上新建DOM元素。 使用web-sys库 rust写的wasm要操作DOM,需要引入web-sys库,在Cargo.toml里添加下面的内容: # The `web-sys` crate allows you to interact with the various browser APIs

 相关资料
  • Wasm-bpf 是一个 WebAssembly eBPF 库和运行时, 基于 CO-RE(一次编写 – 到处运行) libbpf 和 wasm-micro-runtime 实现。 Wasm 最初是以浏览器安全沙盒为目的开发的,发展到目前为止,WebAssembly 已经成为一个用于云原生软件组件的高性能、跨平台和多语言软件沙箱环境,Wasm 轻量级容器也非常适合作为下一代无服务器平台运行时。另一

  • wasm-bindgen 是一个用于促进 wasm 模块和 JavaScript 之间进行高级交互的项目,改进 JavaScript 和 Rust 代码之间的互操作性。 目前这个工具是基于 Rust 编写的,不过它的底层基础是独立于语言的,随着这个工具日趋稳定,它还可以用于像 C/C++ 这种语言。 显著特性 将 JavaScript 功能导入到 Rust,如 DOM 操作、控制台日志记录以及性能

  • Modern WASM Starter A starter template to easily create WebAssembly packages for npm using type-safe C++ code with automatic declarations.This project should take care of most of the boilerplate code

  • 描述 (Description) 此函数评估LIST中的表达式并将它们打包成EXPR指定的二进制结构。 使用下表中显示的字符指定格式 - 每个字符可以可选地后跟一个数字,该数字指定被打包的值类型的重复计数。根据格式,这是半字节,字符或甚至位。 LIST中保留的值重复为*。 可以使用解包功能解压缩值。 例如,a5表示预期有五个字母。 b32表示预期32位。 h8表示预期有8个nybbles(或4个字

  • yarn pack Creates a compressed gzip archive of package dependencies. yarn pack --filename <filename> Creates a compressed gzip archive of package dependencies and names the file filename.

  • Pack-*.pack 文件具有以下格式: 标题出现在开头,包含以下内容:4字节签名:签名是:{'P','A','C','K'} 4-byte version number (network byte order): Git currently accepts version number 2 or 3 but generates version 2 only. 包中包含4个字节