使用说明
它是手写、导入或代码生成 Artifact 的入口。输入应只包含可持久化事实,不要写入 DOM、ECS Entity 或某次运行产生的对象引用。
导入 Artifact
Artifact 可以来自 JSON 文件、网络接口或 ES Module。导入后先经过 defineFlamoArtifact(),可统一补齐 schema、metadata、exports 等规范字段:
import artifactJson from './card.flamo.json' with { type: 'json' };import { defineFlamoArtifact } from '@flamo/runtime';
export const cardArtifact = defineFlamoArtifact(artifactJson);从网络读取时同样处理:
const source = await fetch('/artifacts/card.flamo.json').then(response => response.json());const cardArtifact = defineFlamoArtifact(source);导出 Artifact
Artifact 是普通的可序列化数据,可以保存成 JSON,也可以作为 JavaScript 值导出:
const json = JSON.stringify(cardArtifact, null, 2);export default cardArtifact;导出的 Artifact 仍只是定义。要运行它,需要调用 runtime.create({ artifact: cardArtifact }) 或 runtime.mount(target, cardArtifact)。