# @barefootjs/blade 中文文档

规范地址：https://npmcn.com/package/%40barefootjs/blade/

版本：0\.40\.2
npm 元数据更新时间：2026-11-02T02:52:51.598Z
中文译文更新时间：2026-11-09T21:16:36.500Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：20.5 MB，69 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：vite ^6\.0\.0 \|\| ^7\.0\.0 \|\| ^8\.0\.0，@barefootjs/jsx \>=0\.2\.0，@barefootjs/vite \>=0\.2\.0
- 首次发布：2026-07-07T10:52:48.888Z
- 最新版本发布：2026-11-02T02:52:51.261Z
- 近 30 天下载量：1726（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：78（近 12 个月 78 个）

## 中文简介

Laravel Blade (PHP) 为BarefootJS 的适配器——编译 IR 到.blade.php 模板并装入 PHP BarefootJS 光照/视图独立渲染运行时间

## 安装

```sh
npm install @barefootjs/blade
```

也可以使用：`pnpm add @barefootjs/blade`、`yarn add @barefootjs/blade`、`bun add @barefootjs/blade`

## README

# @ barefootjs/ blade (英语)

Laravel Blade (PHP) 赤脚JS的适配器:编译赤脚JS IR (JSX ~ IR,见 `spec/compiler.md`改为: `.blade.php` 模板文件外加 客户端 JS 将每个其它适配器捆绑,并装入 PHP 渲染 运行时间( o)`php/src/`)使这些模板通过 `illuminate/view` 使用独立的——不需要Laravel应用程序/容器.

近机械港口 `@barefootjs/twig` (Twig适配器)到刀锋 语法. 见 `src/adapter/blade-adapter.ts`完整的页眉注释 TwigQQBlade语法图表和JS/PHP语义上存在分歧 端口处理统一( 真实性、 字符串化、 保留词) 识别器铺设, `$bf->eq`编号 :`$bf->neq` 为JS严格的平等, `data_get` 用于多态成员/索引访问,以及只用于评估的更高排序 由于"刀锋"没有羊肉达表达式,所以回调降低.

## 模板输出形状

-   `name: 'blade'`, (中文(简体) ), `extension: '.blade.php'`, (中文(简体) ), `templatesPerComponent: true` —— 说 一个 `.blade.php` 每个组件的文件, 由蛇定义 PascalCase 命名 组件名称 (`UserCard` → `user_card.blade.php`) (中文(简体) ).
-   水分标记(`bf-s`, (中文(简体) ), `bf-h`编号 :`bf-m`编号 :`bf-r`, (中文(简体) ), `bf-p`时段/条件 注释标记, 循环边界注释) 使用 SAME 运行时法 每个适配器的名称 `bf.*` 调用, 拼写为 PHP 方法调用 编辑 `$bf` 变量 (`$bf->scope_attr()`, (中文(简体) ), `$bf->hydration_attrs()`, (中文(简体) ), `$bf->text_start`编号 :`text_end`, (中文(简体) ), `$bf->comment(...)`)——见 `spec/template-helpers.md` 共享帮助合同.
-   可能非字符串值的每个文本/属性插值都是 路径通过 `$bf->string(...)` (或 `$bf->bool_str(...)` 页:1 布尔形状值; 每个非比较条件位置是 路径通过 `$bf->truthy(...)`;每个联合来文 `===`编号 :`!==` 比较路径 结束 `$bf->eq(...)`编号 :`$bf->neq(...)` (菲律宾的) `==`编号 :`===` 无论是 与联署材料不同的方式对代表人数有敏感认识 《公约》第2条第1款(a)项 全部都是纯 PHP 运行时的助手——参见 PHP 运行时 下面的指针.

## PHP 运行时间

`php/src/` 是一个自成一体的 PHP 软件包( 依赖性 : `illuminate/view` 财务报告和审定财务报表 `barefootjs/runtime`实施引擎不可知性 `bf` 对象 每一次发出的模板调用:水分标记、上下文传播 (单位:千美元)`provide_context`编号 :`use_context`),儿童组件渲染 (单位:千美元)`render_child`),脚本注册,以及JS相容的帮助者 图书馆(`string`, (中文(简体) ), `bool_str`, (中文(简体) ), `truthy`, (中文(简体) ), `number`, (中文(简体) ), `floor`编号 :`ceil`编号 :`round`, (中文(简体) ), 数组/字符串助手 `*_eval` 评估人员, `spread_attrs`, (中文(简体) ), `query`, (中文(简体) ), `eq`编号 :`neq`(中文(简体) ). 它反映了 `packages/adapter-perl/lib/` (引擎不可知核加薄 每引擎后端)——参见: `spec/template-helpers.md` 语义 每个帮助者必须满足合同要求,而且包件本身的测试在 `php/tests/`。 。 。 .

## 使用量

```ts
// vite.config.ts
import { defineConfig } from 'vite'
import { barefoot } from '@barefootjs/blade/vite'

export default defineConfig({
  plugins: barefoot({
    components: ['./src/components'],
    templates: './dist/templates',
  }),
})
```

`vite build` 然后发射 `.blade.php` 模板 + 客户 `templates` 维特自己的 `build.outDir`PHP 主机通过构建 a 一个 `illuminate/view` `Factory` 独立(`Filesystem` + 事件 `Dispatcher` + 键 `EngineResolver` 注册 (单位:千美元) `blade` 引擎过 a `BladeCompiler` + 键 `FileViewFinder`,所有线 由 `Factory` 看到了吗 `php/src/BladeBackend.php`构造器) 指向 PHP 中发射的模板、 线程 `BladeBackend` 作为 提供后端。 刀锋 `{{ }}` 复调( e)`Illuminate\Support\e()`发件人名称 HTML 实体表 (`&quot;`编号 :`&#039;` 通过 `ENT_QUOTES`在Perl/Go/处 标记安全 发送数字 `&#34;`编号 :`&#39;` 窗体 — 见适配器页眉 评论如何处理字节形式差异.

## 常见问题

### @barefootjs/blade 是什么？

Laravel Blade \(PHP\) 为BarefootJS 的适配器——编译 IR 到\.blade\.php 模板并装入 PHP BarefootJS 光照/视图独立渲染运行时间

### 如何安装 @barefootjs/blade？

在项目目录运行 npm install @barefootjs/blade，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@barefootjs/jsx（\>=0\.2\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @barefootjs/blade 支持 TypeScript 吗？

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

### @barefootjs/blade 支持 ESM 还是 CommonJS？

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

### @barefootjs/blade 可以商用吗？

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

### @barefootjs/blade 的下载量有多少？

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

### @barefootjs/blade 还在维护吗？

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

