@dschz/bun-plugin-固态
用于在运行时间或构建时间使用 Babel 转换 SolidJS JSX/TSX 文件的 Bun 插件 。 支持SSR和DOM输出.
⚠️ 说明: 此插件是专门为与该插件一起使用的 Bun 运行时间。它不会在Node.js、Deno或其他JavaScript环境中工作.
特征
- 二者均有效
bun run(运行时间)和bun build(建设时间) - * 支持安全部门改革
generate: "ssr")和DOM(数字数据)generate: "dom")产出 - SSR的水上输出切换
- * 设计通过
preload或构建插件 - 最小和清晰的配置表面
安装
bun add -d @dschz/bun-plugin-solid @babel/core @babel/preset-typescript babel-preset-solid
这些是 同行依赖关系,因此必须手动安装:
@babel/core@babel/preset-typescriptbabel-preset-solid
插件选项
插件选项
generate财务报告和审定财务报表hydratable直接来源于babel-preset-solid并被传到它的引擎盖下.
type SolidPluginOptions = {
/**
* Whether to generate DOM or SSR-compatible output.
* Defaults to "dom".
*/
generate?: "dom" | "ssr";
/**
* Enables hydration code generation for SSR.
* Defaults to true.
*/
hydratable?: boolean;
/**
* Controls source map generation:
* - false: no source maps
* - true: external .map file
* - "inline": base64-encoded inline source maps
*
* Defaults to "inline".
*/
sourceMaps?: boolean | "inline";
/**
* Enable verbose debug logs during transform.
* Defaults to false.
*/
debug?: boolean;
};
使用量
QQ 通过预装脚本运行时间( 开发)
用于基于运行时间的工作流程,如与Elysia, Bun 或其他 Bun 本地框架的服务器侧渲染(SSR).
bunPreload.ts数字 :
import { SolidPlugin } from "@dschz/bun-plugin-solid";
await Bun.plugin(
SolidPlugin({
generate: "ssr",
hydratable: true,
debug: true,
}),
);
bunfig.toml数字 :
jsx = "solid"
jsxFactory = "solid-js"
preload = ["./bunPreload.ts"]
运行 :
bun run server.ts
编译 Bun.build()
在制作工作流程中使用此功能进行预编译 .tsx 或者说 .jsx 到 JavaScript 的文件.
build.ts数字 :
import { SolidPlugin } from "@dschz/bun-plugin-solid";
await Bun.build({
entrypoints: ["./src/index.ts"],
outdir: "./dist",
target: "bun",
format: "esm",
plugins: [
SolidPlugin({
generate: "ssr",
hydratable: true,
sourceMaps: false, // recommended for production
}),
],
});