@cf-wasm/plugins

中文文档
0.2.0发布于 2026/08/01MITTypeScriptES Module构建来源已验证近 30 天下载 1.2万

Cf-wasm 插件

中文使用文档
文档目录7 节
  1. 云浮模块
  2. 为什么你需要它
  3. 安装
  4. 使用量
  5. 示例: SvelteKit + Cloudflare 适应器
  6. 支持的扩展
  7. 如何运作

@ cf-wasm/ 插件

使Cloudflare工人兼容模块的插件与维特等现代构建工具无缝地工作.

云浮模块

Vite 插件导出自 @cf-wasm/plugins/vite-additional-modules 亚模块能够正确解决在Cloudflare工人身上得到本土支持的无害环境管理型进口,例如:

  • .wasm?module
  • .wasm
  • .txt
  • .bin

这些导入类型通常在标准开发环境中失败,因为它们依赖于Cloudflare的模块加载器行为. 这个插件通过在开发时模拟 Cloudflare 的模块导入系统并构建时间来弥补差距 .

为什么你需要它

当使用针对Cloudflare工人的框架或适配器时(例如, @sveltejs/adapter-cloudflare 在SvelteKit应用程序中,您可能会遇到构建时的错误,例如:

error during build:
[vite:wasm-fallback] Could not load /home/user/svelte-kit-app/src/lib/resvg.wasm (imported by src/routes/resvg/+server.ts): "ESM integration proposal for Wasm" is not supported currently. Use vite-plugin-wasm or other community plugins to handle this. Alternatively, you can use `.wasm?init` or `.wasm?url`. See https://vite.dev/guide/features.html#webassembly for more details.

之所以发生这种情况,是因为Vite(以及大多数捆绑者)在本地并不理解Cloudflare的特殊模块查询语法.

这个 vite-additional-modules 插件通过教Vite如何处理这些导入来解决这个问题.

安装

npm install @cf-wasm/plugins --save-dev

使用量

将插件添加到您的 vite.config.js (或 vite.config.ts:

// vite.config.{ts|js}
import additionalModules from "@cf-wasm/plugins/vite-additional-modules";
import { defineConfig } from "vite";

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

[注] 如果依赖使用Cloudflare支持的无害环境管理进口语法(例如, @cf-wasm/satori),您需要确保 Vite 不外部化 @cf-wasm/satori 安全部门改革捆绑过程中的模块:

// vite.config.{ts|js}
import additionalModules from "@cf-wasm/plugins/vite-additional-modules";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [additionalModules()],
  ssr: {
    noExternal: [/^@cf-wasm\/.*/],
  },
});

示例: SvelteKit + Cloudflare 适应器

使用时 @sveltejs/adapter-cloudflare,只需在您的 Vite 配置中包含此插件 :

// vite.config.{ts|js}
import additionalModules from "@cf-wasm/plugins/vite-additional-modules";
import { sveltekit } from "@sveltejs/kit/vite";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [sveltekit(), additionalModules()],
});
// svelte.config.js
import adapter from "@sveltejs/adapter-cloudflare";
import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";

/** @type {import('@sveltejs/kit').Config} */
const config = {
  // Consult https://svelte.dev/docs/kit/integrations
  // for more information about preprocessors
  preprocess: vitePreprocess(),

  kit: {
    adapter: adapter(),
  },
};

export default config;

现在,你可以安全地使用进口,例如:

// src/routes/api/+server.ts
import wasmModule from "$/lib/my-module.wasm?module";
import textData from "$/lib/my-schema.txt";

export async function GET() {
  //...
}

两者在 development 并部署到 Cloudflare Workers。 。 。 .

支持的扩展

延长说明输出类型
.wasm?module网络大会模块WebAssembly.Module
.wasm网络大会模块WebAssembly.Module
.txt纯文本文件string
.bin二进制文件ArrayBuffer

如何运作

  • 单位 development,插件会截取Vite的模块解析度,并模拟 Cloudflare 的导入行为,根据需要编译或服务文件.
  • 单位 production builds,插件确保这些文件被正确释放,并作为符合 Cloudflare 工人运行时间的标准的无害环境管理导入物引用.

版本与发布记录

@cf-wasm/plugins 共发布 12 个版本,首次发布于 2025/11/06;过去 12 个月发布了 10 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.0latest2026/08/013 个月前
0.1.102026/05/046 个月前
0.1.92025/11/3011 个月前
0.1.82025/11/2911 个月前
0.1.72025/11/1811 个月前
0.1.62025/11/1611 个月前

关于 @cf-wasm/plugins 的常见问题

@cf-wasm/plugins 是什么?

Cf-wasm 插件

如何安装 @cf-wasm/plugins?

在项目目录运行 npm install @cf-wasm/plugins,或使用 pnpm add / yarn add / bun add。

@cf-wasm/plugins 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cf-wasm/plugins 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cf-wasm/plugins 可以商用吗?

@cf-wasm/plugins 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cf-wasm/plugins 的下载量有多少?

根据 npm 官方下载统计,@cf-wasm/plugins 在 2026/10/10 – 2026/11/08 这 30 天内被下载 11,679 次,日均约 389 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cf-wasm/plugins 还在维护吗?

最新版本 0.2.0 发布于 2026/08/01(3 个月前);至今共发布 12 个版本,其中过去 12 个月发布了 10 个;首次发布于 2025/11/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。