# @dschz/bun-plugin-solid 中文文档

规范地址：https://npmcn.com/package/%40dschz/bun-plugin-solid/

版本：1\.0\.4
npm 元数据更新时间：2025-06-05T16:28:42.155Z
中文译文更新时间：2026-11-14T10:04:08.575Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dschz/bun-plugin-solid
原文对照：https://npmcn.com/package/%40dschz/bun-plugin-solid/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：11.5 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@babel/core \>=7\.24\.0，@babel/preset-typescript \>=7\.24\.0，babel-preset-solid \>=1\.8\.9
- 首次发布：2025-05-09T05:55:02.820Z
- 最新版本发布：2025-06-05T16:28:41.921Z
- 近 30 天下载量：2080（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

一个用于在运行时间或用 Babel 构建时间转换 SolidJS TSX/JSX 文件的 Bun 插件. 支持SSR和DOM输出.

## 安装

```sh
npm install @dschz/bun-plugin-solid
```

也可以使用：`pnpm add @dschz/bun-plugin-solid`、`yarn add @dschz/bun-plugin-solid`、`bun add @dschz/bun-plugin-solid`

## README

![bun-plugin-solid](https://assets.solidjs.com/banner?type=Ecosystem&background=tiles&project=bun-plugin-solid)

# @dschz/bun-plugin-固态

[![License](https://img.shields.io/badge/license-MIT-green)](https://npmcn.com/package/%40dschz/bun-plugin-solid/LICENSE) [![npm version](https://img.shields.io/npm/v/@dschz/bun-plugin-solid?color=blue)](https://www.npmjs.com/package/@dschz/bun-plugin-solid) [![Bundle Size](https://img.shields.io/bundlephobia/minzip/@dschz/bun-plugin-solid)](https://bundlephobia.com/package/@dschz/bun-plugin-solid) [![JSR](https://jsr.io/badges/@dschz/bun-plugin-solid/score)](https://jsr.io/@dschz/bun-plugin-solid) [![CI](https://github.com/dsnchz/bun-plugin-solid/actions/workflows/ci.yaml/badge.svg)](https://github.com/dsnchz/bun-plugin-solid/actions/workflows/ci.yaml)

> 用于在运行时间或构建时间使用 Babel 转换 SolidJS JSX/TSX 文件的 Bun 插件 。 支持SSR和DOM输出.
> 
> \\ 工作无缝 [阿宝](https://bun.sh/) 财务报告和审定财务报表 [爱莉西亚](https://elysiajs.com/) 用于运行时间和建设时间JSX/TSX转换的服务器.

> ⚠️ **说明**: 此插件是专门为与该插件一起使用的 [Bun 运行时间](https://bun.sh/)。它不会在Node.js、Deno或其他JavaScript环境中工作.

## 特征

-   二者均有效 `bun run` (运行时间)和 `bun build` (建设时间)
-   \* 支持安全部门改革`generate: "ssr"`)和DOM(数字数据)`generate: "dom"`)产出
-   SSR的水上输出切换
-   \* 设计通过 `preload` 或构建插件
-   最小和清晰的配置表面

## 安装

```bash
bun add -d @dschz/bun-plugin-solid @babel/core @babel/preset-typescript babel-preset-solid
```

> 这些是 **同行依赖关系**,因此必须手动安装:
> 
> -   `@babel/core`
> -   `@babel/preset-typescript`
> -   `babel-preset-solid`

## 插件选项

> 插件选项 `generate` 财务报告和审定财务报表 `hydratable` 直接来源于 [`babel-preset-solid`](https://github.com/solidjs/solid/blob/main/packages/babel-preset-solid/src/index.ts#L11-L18) 并被传到它的引擎盖下.

```ts
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`数字 :

```ts
import { SolidPlugin } from "@dschz/bun-plugin-solid";

await Bun.plugin(
  SolidPlugin({
    generate: "ssr",
    hydratable: true,
    debug: true,
  }),
);
```

#### `bunfig.toml`数字 :

```toml
jsx = "solid"
jsxFactory = "solid-js"
preload = ["./bunPreload.ts"]
```

#### 运行 :

```bash
bun run server.ts
```

* * *

### 编译 `Bun.build()`

在制作工作流程中使用此功能进行预编译 `.tsx` 或者说 `.jsx` 到 JavaScript 的文件.

#### `build.ts`数字 :

```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
    }),
  ],
});
```

## 常见问题

### @dschz/bun-plugin-solid 是什么？

一个用于在运行时间或用 Babel 构建时间转换 SolidJS TSX/JSX 文件的 Bun 插件\. 支持SSR和DOM输出\.

### 如何安装 @dschz/bun-plugin-solid？

在项目目录运行 npm install @dschz/bun-plugin-solid，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@babel/core（\>=7\.24\.0）、@babel/preset-typescript（\>=7\.24\.0）、babel-preset-solid（\>=1\.8\.9）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @dschz/bun-plugin-solid 支持 TypeScript 吗？

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

### @dschz/bun-plugin-solid 支持 ESM 还是 CommonJS？

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

### @dschz/bun-plugin-solid 可以商用吗？

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

### @dschz/bun-plugin-solid 的下载量有多少？

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

### @dschz/bun-plugin-solid 还在维护吗？

最新版本 1\.0\.4 发布于 2025/06/06（1\.4 年前）；至今共发布 5 个版本，其中过去 12 个月发布了 0 个；首次发布于 2025/05/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

