@decocms/eitri
装订 爱翠 移动堆栈。 与 @decocms/nextjs 编号 :
@decocms/tanstack,这个软件包 没有 做点什么 Eitri做的
以本地方式运行. @decocms/eitri 仅限 生成一个
填满 .deco 因此 Studio 可以针对您的 Eitri 段落撰写内容 :
- (单位:千美元) 自定义
.deco/meta.gen.json(本节计划) 加号 页:1 框架块类型——页面、匹配者、,Resolvable,节取取者—— 烤入,所以一个基于FS的工作室 逐字读取,没有运行时间),和 - 捆绑
.deco/blocks.gen.json分解文件快照 Eitri 运行时间 消费.
这是一个薄薄的,埃特里口味的包装 @decocms/blocks-cli是因为 generate
指挥员(--platform eitri) (中文(简体) ). 见
docs/eitri-stack-design.md 全文
设计.
Eitri拥有的和Deco拥有的
| 拥有者 | |
|---|---|
节次 Props - JSON Schema, 污名快照(.deco(中文(简体) ) | @decocms/eitri (本套装) |
| 撰写内容(形式、页面组成) | 工作室(阅读) .deco(中文(简体) ) |
| 获取设备上的调试文件 + 渲染部分 | Eitri 平台/ 您的应用程序 |
有故意的,有故意的,没有故意的 无运行时间 SDK 在这里.
节
Eitri 区段完全是一个deco 区段: 默认导出组件
src/sections/** 带有导出 Props 与 JSDoc 记录的接口.
// src/sections/Banners/Hero.tsx
import { Image, View } from "eitri-luminus";
export interface Props {
/** @title Hero image. */
image: string;
/** @title Alt text. */
alt?: string;
/** @title Publish date. @format datetime */
datetime?: string;
}
export default function HeroBanner({ image, alt }: Props) {
return <View><Image src={image} alt={alt} /></View>;
}
@title, (中文(简体) ), @format (例如:. textarea, (中文(简体) ), datetime • 已正常化 date-time, (中文(简体) ),
而其他JSDoc部件标签驱动 Studio格式. 可能会是 .tsx, (中文(简体) ),
.ts, (中文(简体) ), .jsx,或 .js。 。 。 .
安装
# in your Eitri app (as a dev tool)
npm i -D @decocms/eitri
设置
npx deco-eitri init
这个脚手架( 从未覆盖过现有文件 ) :
tsconfig.json扩展@decocms/eitri/tsconfig—— 说 所需经费· ;generate-schema需要一个 tsconfig 来分析您的Props类型.src/eitri-env.d.ts- 环境吸血eitri-luminus编号 :eitri-bifrost这样 您的编辑和tsc别标注这些进口品 纯ergoomic; 生成 工作没有它。 如果您安装了真假, 删除它eitri-luminus类型.
如果你更喜欢用手电线 tsconfig.json 只需要:
{ "extends": "@decocms/eitri/tsconfig", "include": ["src"] }
生成
# from the app root
npx deco-eitri generate
# or, targeting a sub-app in a monorepo without cd:
npx deco-eitri generate --root eitri-shopping-example-shared
添加为脚本:
{ "scripts": { "deco:generate": "deco-eitri generate" } }
产出 .deco/数字 :
meta.gen.json——自成一体的计划(framework: "eitri") (中文(简体) ).blocks.gen.json—— 解密快照( 启动为{}用于新应用程序; Studio 以内容为作者填充).generate.digests.json——增生缓存(承诺).
反应运行时的文物(sections.gen.ts, (中文(简体) ), blocksManifest.gen.ts, (中文(简体) ),
loaders.gen.ts, (中文(简体) ), invoke.gen.ts(a) 故意的 没有 生产——Eitri
不使用它们.
程序化 API
import { generateEitri } from "@decocms/eitri";
const code = await generateEitri({ root: "path/to/app", force: true });
旗帜
deco-eitri generate 转发 @decocms/blocks-cli generate 旗帜
(单位:千美元)--root, (中文(简体) ), --force, (中文(简体) ), --dry-run, (中文(简体) ), --sections-dir, (中文(简体) ), --namespace, (中文(简体) ), --site, (中文(简体) ),
运行 npx deco-eitri generate --help 完整名单. --platform eitri
总是适用.