# @fluixi/compiler 中文文档

规范地址：https://npmcn.com/package/%40fluixi/compiler/

版本：1\.0\.0-alpha\.108
npm 元数据更新时间：2026-11-07T01:10:07.960Z
中文译文更新时间：2026-11-15T02:33:05.654Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fluixi/compiler
原文对照：https://npmcn.com/package/%40fluixi/compiler/?lang=original
项目主页：https://github.com/fluixi/core#readme
源码仓库：https://github.com/fluixi/core

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

- 包体积（解压后）：3.6 MB，303 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：@babel/core ^7\.28\.5，@babel/generator ^7\.29\.1，@babel/preset-typescript ^7\.28\.5，@babel/helper-plugin-utils ^7\.27\.1
- 首次发布：2026-07-10T03:16:59.767Z
- 最新版本发布：2026-11-07T01:08:52.676Z
- 近 30 天下载量：3990（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：56（近 12 个月 56 个）

## 中文简介

汇编 JSX 和 html " 模板,通过共享的 IR 来引导 DOM 调用; Babel 仅用作解析器

## 安装

```sh
npm install @fluixi/compiler
```

也可以使用：`pnpm add @fluixi/compiler`、`yarn add @fluixi/compiler`、`bun add @fluixi/compiler`

## README

![Fluixi](https://raw.githubusercontent.com/fluixi/assets/main/logos/128x128.png)

# @fluixi/ 编译器

**Fluixi编译器:剖析出,下同出. 不是一个 Babel 插件 .**

[![License: MIT](https://img.shields.io/badge/License-MIT-22c55e.svg)](https://npmcn.com/package/%40fluixi/compiler/LICENSE) ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6?logo=typescript&logoColor=white) [![npm](https://img.shields.io/npm/v/@fluixi/compiler?logo=npm)](https://www.npmjs.com/package/@fluixi/compiler)

* * *

## \* 概览

`@fluixi/compiler` 将Fluixi源变成精细的活性输出. 两个作者 语法、JSX和 `` html`...` `` 模板, 下至 **相同的主机不可识别 IR**,以及 页:1 **必需的后端** 直接编译成 [`@fluixi/dom`](https://npmcn.com/package/%40fluixi/dom) 运行时间 电话(`createNativeElement`编号 :`spread`编号 :`insert`编号 :`createComponent`/...) (中文(简体) ). 没有VDOM,没有 `jsx()` 运行时发送.

它拥有改变而不是运行在别人的: 代号被替换 没有任何内容被重印, 所以一个洞保存文本 作者已写出, 并且每个编辑都包含一个源地图; 类型被保留给捆绑器 脱去.

`@babel/parser` 是它唯一从命名空间取取的软件包,用作解析器: vue的编译器也在同一个位置. `@babel/core` 而插件机是可选的 同伴,仅需满足 `babel: true`。 。 。 .

这个 `@fluixi/jsx` 自动运行时间仍然是 Esbuild 和 TypeScript 的 `jsxImportSource` 点;这个编译器从不发出一个调用.

它还提供 **`"use server"`** 转换(服务器函数):客户端构建 得到一个RPC活塞, 服务器构建保存和注册身体.

多数应用程序不直接使用此软件包: [`@fluixi/vite-plugin`](https://npmcn.com/package/%40fluixi/vite-plugin) (和 [`@fluixi/start`](https://npmcn.com/package/%40fluixi/start)把它包起来.

## 它对你的密码有什么影响

除了把标记变成DOM电话:

**支持你解结构 保持反应.** `function Card({ title })` 编译为 `props.title` 每次使用时,绑定都会不断更新 `...rest` 成为 `splitProps` 打电话给你,你会写。 任何无法证明安全的东西: 重新分配 绑定, 计算出的密钥, 默认需要重运行 写作和汇报。 默认值; 设置 `propsDestructure: false` 送货的包裹 联合国 **来源** 因为重写属于编译者.

**`$` 内在解析不导入.** `$signal`, (中文(简体) ), `$memo`, (中文(简体) ), `$effect`, (中文(简体) ), `$store`, (中文(简体) ), `$resource`, (中文(简体) ), `$selector`, (中文(简体) ), `$deferred`, (中文(简体) ), `$untrack`, (中文(简体) ), `$untrackStore` 编译到运行时间 调用它们所代表,并添加一个模块实际使用的导入。 一个原始人 由它产生的约束予以确认,绝不用名称: `import { signal as state }` 实值 承认,当地 `function signal()` 没有。 装入 `$` 名称保留其 拥有意义并获得诊断.

**非进口标记通过规则解决.** `resolve` 写着大写标签从哪里来 来源:每个组件的条目,或家庭的一种模式:

```ts
createVitePlugin({ resolve: [{ match: /^([A-Z]\w+)$/, module: '/src/components/$1.tsx' }] })
```

**`load:` 将组件分割成自己的块.** `load:visible`, (中文(简体) ), `load:idle`, (中文(简体) ), `load:interaction`, (中文(简体) ), `load:media` 决定何时获取其模块。 它有一个组件 规则供应,在其中您输入自己:在第二种情况下,静态导入是 删除, 只有在名称被无处使用时, 才会被作为标记使用 .

**它说当它不能做这些事情.** 标签什么也没有供应和 `load:` 那个 无法在运行时同时应用干净的构建和失败,所以在构建时报告它们与 这个原因 捆绑器适配器打印; `TransformResult` 带着他们 `propsDiagnostics`, (中文(简体) ), `intrinsicDiagnostics`, (中文(简体) ), `loadDiagnostics` 财务报告和审定财务报表 `unresolvedDiagnostics` 如果你正在驱动 改造自己.

## \* 安装

```sh
pnpm add -D @fluixi/compiler
```

## 使用量

通过维特融合(共同路径):

```ts
import { defineConfig } from 'vite';
import { createVitePlugin, serverFunctionsVitePlugin } from '@fluixi/compiler/integrations';

export default defineConfig({
  plugins: [
    serverFunctionsVitePlugin(),          // "use server" transform
    createVitePlugin(),
  ],
});
```

或直接编译模块 :

```ts
import { transformTemplates } from '@fluixi/compiler/transform';

const { code, map } = transformTemplates(source, 'App.tsx', {})!;
```

`transformTemplates` 返回时 `null` 没有JSX,没有模板,没有 `$` 内在和无报告:这样,捆绑者就可以不动文件.

### 通过 Babel 编译

`fluixi({ babel: true })` 途径巴贝尔前端 它存在于一个 其自己的 Babel 插件必须查看已编译输出的工程; 它需要 `@babel/core` 和朋友安装, 说,而不是贬低。 其他一切: IR、 通过,后端:无论是哪种方式,都是相同的代码.

## 子路径

| 导入 | 什麽 | 宝贝 |
| --- | --- | --- |
| `@fluixi/compiler` | IR,代码后端,解析/优化通道,选项 | 无 |
| `@fluixi/compiler/builtins` | 控制流程/路由器组件名称 | 无 |
| `@fluixi/compiler/transform` | `transformTemplates`, (中文(简体) ), `transformServerFns` | 只解析器 |
| `@fluixi/compiler/integrations` | 站台、网络包装、卷起和安装适配器 | 只解析器 |
| `@fluixi/compiler/babel` | babel 插件的前端 | `@babel/core` |

`no-babel-in-core.spec.ts` 如果柱子停止真实, 则无法创建 .

## 许可证

[麻省理工学院](https://npmcn.com/package/%40fluixi/compiler/LICENSE) © [风花](https://fluixi.dev/)

## 常见问题

### @fluixi/compiler 是什么？

汇编 JSX 和 html " 模板,通过共享的 IR 来引导 DOM 调用; Babel 仅用作解析器

### 如何安装 @fluixi/compiler？

在项目目录运行 npm install @fluixi/compiler，或使用 pnpm add / yarn add / bun add。

### @fluixi/compiler 支持 TypeScript 吗？

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

### @fluixi/compiler 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @fluixi/compiler 可以商用吗？

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

### @fluixi/compiler 的下载量有多少？

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

### @fluixi/compiler 还在维护吗？

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

