@fungi. 计算机/云雾-工人-bundler
实验: 此软件包正在积极开发中, 它的 API 可能 不加通知地更改。 未建议用于生产.
在Cloudflare的软件包和软件包上服务 装入器装订 (闭塞β. 它能动态地产生真正npm依赖性的工人,或者 用客户端捆绑和静态资产服务构建完整的应用程序.
运行时间要求
此软件包只运行 在Cloudflare工人运行时间(workerd(中文(简体) ) —— 说
生产和生产 wrangler dev它通过一个 esbuild-wasm
WebAssembly.Module 输入只有 Worker 模块加载器可以解析.
它会 没有 普通节点下的工作,包括默认集合
Vitest/Jest 测试; 取决于其需要的测试代码
@cloudflare/vitest-pool-workers。 。 。 .
这个 ./assets 条目(见下文)是例外:没有捆绑器
依赖和运行任何地方.
真菌叉
这个包是真菌叉
@cloudflare/worker-bundler
6.2.3 (承诺) d424945),以麻省理工学院许可证发行. 从
上游由真菌电脑制作:
src/assets.ts: 一个新的./assets服务资产出口条目 (单位:千美元)handleAssetRequest, (中文(简体) ),buildAssetManifest, (中文(简体) ),buildAssets, (中文(简体) ),createMemoryStorage, (中文(简体) ),inferContentType, (中文(简体) ),isTextContentType没有 esbuild/Sucrase 捆绑图.src/index.ts再出口相同名称.src/file-system.ts进口DurableObjectStorage从@cloudflare/workers-types,现在是一个依赖, 所以出版 在无环境工人类型的情况下进行类型检查.scripts/build.ts: 构建./assets输入并降低上游 单相声明格式化步骤.src/index.ts, (中文(简体) ),src/app.ts, (中文(简体) ),src/asset-handler.ts: 三个表达式 重写时没有多余的分量 所以叉子通过牛林 正确规则.- 只有可操作的上游试验(
asset-handler, (中文(简体) ),redos)保留.
见 通知 用于完整归属文本.
安装
npm install @fungi.computer/cloudflare-worker-bundler
快开始
Bundle a Worker - 提供源代码和依赖, 捆绑手柄 其余部分:
import { createWorker } from "@fungi.computer/cloudflare-worker-bundler";
const worker = env.LOADER.get("my-worker", async () => {
const { mainModule, modules } = await createWorker({
files: {
"src/index.ts": `
import { Hono } from 'hono';
const app = new Hono();
app.get('/', (c) => c.text('Hello from Hono!'));
export default app;
`,
"package.json": JSON.stringify({ dependencies: { hono: "^4.0.0" } })
}
});
return { mainModule, modules, compatibilityDate: "2026-01-01" };
});
await worker.getEntrypoint().fetch(request);
独立时使用静态资产 ./assets 条目( 无捆绑图)
所需:
import {
handleAssetRequest,
buildAssets
} from "@fungi.computer/cloudflare-worker-bundler/assets";
const { manifest, storage } = await buildAssets({
"/index.html": "<h1>Hello</h1>"
});
export default {
async fetch(request) {
const assetResponse = await handleAssetRequest(request, manifest, storage);
if (assetResponse) return assetResponse;
return new Response("API");
}
};
createApp 捆绑服务器 Worker、客户端 JavaScript 和静态
在一个呼叫中合并资产;见
上游读取
页:1 createApp,满 createWorker编号 :createApp 选项表格
FileSystem 接口( e)InMemoryFileSystem, (中文(简体) ), DurableObjectKVFileSystem, (中文(简体) ),
DurableObjectRawFileSystem),进程内 TypeScript 语言服务
(单位:千美元)./typescript 子路径),资产配置(HTML/未找到处理,
重新定向、取头、缓存)和已知的局限性——无一变化
这个叉子超越 ./assets 上文提到的切入点.
在使用的地方
牡蛎 用此叉来捆绑
并使用 ./assets 为静态资产服务的条目
不拉入捆绑.
许可证
麻省理工学院. 此软件包带有上游 Cloudflare 版权和许可证 不变——见 自由主义 财务报告和审定财务报表 通知。 。 。 .