mcpField
U
umbraco-bundle

umbraco-bundle

github.com/umbraco开发27388 次安装6 周前更新
代码仓库

关于 umbraco-bundle

umbraco-bundle 是用于创建 Umbraco 后台扩展 Bundle 的技能,指导开发者查阅最新文档并生成清单及 JavaScript 或 TypeScript 文件。

主要功能

  1. 01将多个扩展清单归入一个 Bundle
  2. 02支持 JavaScript 和 TypeScript 清单
  3. 03从多个文件重新导出清单
  4. 04指导查阅文档和生成代码

适用场景

  1. 01整理相关的后台扩展
  2. 02生成 Bundle 和程序包清单
  3. 03按功能拆分清单文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-bundle

安装后在 Claude Code 中输入/umbraco-bundle确认已加载。

详细介绍

Umbraco Bundle

它是什么?

Bundle 是一种扩展类型,指向单个 JavaScript 文件,该文件会导出或重新导出以 JavaScript/TypeScript 编写的扩展清单。它用作容器,将多个扩展清单组合在一起,让你可以在代码中而非 JSON 中声明清单,并以模块化的方式组织扩展。

文档

实现前,请务必获取最新文档:

工作流

  1. 获取文档 - 使用 WebFetch 获取上述 URL
  2. 提出问题 - 要将哪些扩展打包在一起?使用 TypeScript 还是 JavaScript?
  3. 生成文件 - 根据最新文档创建清单和 Bundle 文件
  4. 说明 - 展示创建的内容以及测试方法

最简示例

清单(umbraco-package.json)
{
  "name": "My Package",
  "version": "1.0.0",
  "extensions": [
    {
      "type": "bundle",
      "alias": "My.Package.Bundle",
      "name": "My Package Bundle",
      "js": "/App_Plugins/MyPackage/manifests.js"
    }
  ]
}
Bundle 文件(manifests.ts)
import type { UmbExtensionManifest } from '@umbraco-cms/backoffice/extension-api';

export const manifests: Array<UmbExtensionManifest> = [
  {
    type: 'dashboard',
    name: 'My Dashboard',
    alias: 'My.Dashboard',
    element: () => import('./dashboard.js'),
    weight: 900,
    meta: {
      label: 'My Dashboard',
      pathname: 'my-dashboard',
    },
    conditions: [
      {
        alias: 'Umb.Condition.SectionAlias',
        match: 'Umb.Section.Content',
      },
    ],
  },
  {
    type: 'headerApp',
    name: 'My Header App',
    alias: 'My.HeaderApp',
    element: () => import('./header-app.js'),
    meta: {
      label: 'My App',
      icon: 'icon-heart',
    },
  },
];
从多个文件重新导出
// manifests.ts
export * from './dashboards/manifests.js';
export * from './header-apps/manifests.js';
export * from './sections/manifests.js';

就是这样!始终获取最新文档,保持示例精简,并生成完整可运行的代码。

评论

支持 Markdown