@barefootjs/blade

中文文档
0.40.2发布于 2026/11/02MITTypeScriptES Module构建来源已验证近 30 天下载 1726

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

中文使用文档
文档目录3 节
  1. 模板输出形状
  2. PHP 运行时间
  3. 使用量

@ 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/。 。 。 .

使用量

// 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.outDirPHP 主机通过构建 a 一个 illuminate/view Factory 独立(Filesystem + 事件 Dispatcher + 键 EngineResolver 注册 (单位:千美元) blade 引擎过 a BladeCompiler + 键 FileViewFinder,所有线 由 Factory 看到了吗 php/src/BladeBackend.php构造器) 指向 PHP 中发射的模板、 线程 BladeBackend 作为 提供后端。 刀锋 {{ }} 复调( e)Illuminate\Support\e()发件人名称 HTML 实体表 ("编号 :' 通过 ENT_QUOTES在Perl/Go/处 标记安全 发送数字 "编号 :' 窗体 — 见适配器页眉 评论如何处理字节形式差异.

版本与发布记录

@barefootjs/blade 共发布 78 个版本,首次发布于 2026/07/07;过去 12 个月发布了 78 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.40.2latest2026/11/027 天前
0.40.12026/10/2911 天前
0.40.02026/10/2614 天前
0.39.92026/10/2515 天前
0.39.82026/10/2119 天前
0.39.72026/10/1822 天前

关于 @barefootjs/blade 的常见问题

@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 和提交记录判断。