mcpField
U
umbraco-entry-point

umbraco-entry-point

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

关于 umbraco-entry-point

用于构建 Umbraco Backoffice Entry Point 的技能,指导开发者查阅最新文档、确认初始化需求,并生成清单和 JavaScript 入口点。

主要功能

  1. 01获取最新 Umbraco 文档
  2. 02确认初始化与清理需求
  3. 03生成清单和入口点
  4. 04说明测试步骤

适用场景

  1. 01用户登录后初始化 Umbraco 包
  2. 02加载外部库或全局 CSS
  3. 03动态注册 UI 扩展

安装

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

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

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

详细介绍

Umbraco 入口点

什么是入口点?

入口点是一种扩展,会在 Umbraco 后台启动时执行 JavaScript 代码。后台入口点会在用户身份验证后运行,用于执行初始化逻辑、加载外部库、动态注册 UI 扩展或引入全局 CSS。可选的 onUnload 函数用于处理清理工作。

文档

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

工作流

  1. 获取文档 - 对上述 URL 使用 WebFetch
  2. 提出问题 - 需要哪些初始化操作?是否需要外部库?是否需要清理工作?
  3. 生成文件 - 根据最新文档创建清单文件和入口点
  4. 说明 - 展示创建的内容以及测试方法

最简示例

清单文件(umbraco-package.json)
{
  "name": "My Package",
  "extensions": [
    {
      "type": "backofficeEntryPoint",
      "alias": "My.EntryPoint",
      "name": "My Entry Point",
      "js": "/App_Plugins/MyPackage/index.js"
    }
  ]
}
实现(index.ts)
import type { UmbEntryPointOnInit } from '@umbraco-cms/backoffice/extension-api';

export const onInit: UmbEntryPointOnInit = (host, extensionRegistry) => {
  console.log('My package initialized');

  // Register extensions dynamically
  extensionRegistry.register({
    type: 'dashboard',
    alias: 'My.Dashboard',
    name: 'My Dashboard',
    element: () => import('./dashboard.js'),
    meta: {
      label: 'My Dashboard',
      pathname: 'my-dashboard'
    }
  });
};

// Optional cleanup
export const onUnload = () => {
  console.log('My package unloaded');
};

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

评论

支持 Markdown