---
title: "@farmfe/plugin-wasm"
locale: "zh"
version: "current"
canonicalUrl: "https://farmfe.org/zh/docs/plugins/official-plugins/wasm"
publicationStatus: "prerelease"
---

<a id="farmfeplugin-wasm"></a>
# @farmfe/plugin-wasm


A Rust Farm plugin for seamless WebAssembly integration, including support for ` wasm-pack ` generated modules.


<a id="installation"></a>
## Installation


**npm**

```javascript
npm install -D @farmfe/plugin-wasm
```


**yarn**

```javascript
yarn add -D @farmfe/plugin-wasm
```


**pnpm**

```javascript
pnpm add -D @farmfe/plugin-wasm
```



<a id="usage"></a>
## Usage


Register the plugin in ` farm.config.ts `:


```ts
import { defineConfig } from "@farmfe/core";
import wasm from "@farmfe/plugin-wasm";

export default defineConfig({
  plugins: [wasm()],
});
```


Pre-compiled ` .wasm ` files can be imported with the ` ?init ` query. The default export is an initialization function:


```ts
import init from "./example.wasm?init";

init().then((instance) => {
  instance.exports.test();
});
```


The initialization function can receive a WebAssembly import object:


```ts
import init from "./example.wasm?init";

init({
  imports: {
    someFunc: () => {},
  },
});
```


WASM packages can also be imported as ESM modules:


```ts
import { someFunc } from "wasm-project";

someFunc();
```


<a id="options"></a>
## Options


This plugin does not expose user options.
