You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strapi 3 Beta版:如何创建可在左侧菜单访问的自定义插件

在Strapi 3.0.0 Beta中创建侧边栏可访问的自定义插件

我刚踩过Strapi 3.0.0 Beta插件开发的坑,官方文档确实没跟上更新节奏,折腾了好一阵才摸清楚正确的配置方式,给你一步步拆解:

1. 用CLI生成插件基础骨架

别手动建目录!直接用Strapi的命令行工具生成完整的插件结构,能避免很多配置错误:

strapi generate:plugin my-plugin

这个命令会在./plugins/my-plugin下自动生成后端+前端的基础框架,比自己从零搭靠谱多了。

2. 配置前端入口文件(关键!)

Strapi 3 Beta对前端插件的加载逻辑做了大改,你需要确保./plugins/my-plugin/admin/src/index.js(没有就新建)的配置正确,这是插件被管理面板识别的核心:

import pluginPkg from '../../package.json';
import pluginId from './pluginId';
import Initializer from './components/Initializer';
import MyPluginPage from './pages/MyPluginPage';

const plugin = {
  register(app) {
    // 核心:添加侧边栏菜单项
    app.addMenuLink({
      to: `/plugins/${pluginId}`,
      icon: 'plug', // 可以用Strapi内置图标,比如'folder' 'settings'等
      intlLabel: {
        id: `${pluginId}.plugin.name`,
        defaultMessage: pluginPkg.strapi.name, // 从package.json取插件名称
      },
      Component: MyPluginPage, // 点击后跳转的页面组件
      permissions: [
        // 配置访问权限,这里允许所有授权用户访问
        { action: `${pluginId}.access`, subject: null },
      ],
    });

    // 注册插件(初始化逻辑可选)
    app.registerPlugin({
      id: pluginId,
      initializer: Initializer,
      isReady: false,
      name: pluginPkg.strapi.name,
    });
  },
};

export default plugin;

3. 创建插件的页面组件

在./plugins/my-plugin/admin/src/pages下新建MyPluginPage.js,这是点击侧边栏链接后展示的内容:

import React from 'react';
import { Layout, Header } from '@strapi/design-system';

const MyPluginPage = () => {
  return (
    <Layout>
      <Header title="我的自定义插件" />
      <div style={{ padding: '2rem' }}>
        <p>这是Strapi 3 Beta自定义插件的测试页面!</p>
      </div>
    </Layout>
  );
};

export default MyPluginPage;

4. 配置插件权限(可选但推荐)

如果需要控制哪些用户能访问插件,修改./plugins/my-plugin/config/permissions.js:

module.exports = {
  settings: {
    access: {
      enabled: true,
      description: '允许访问我的自定义插件',
      category: 'plugin',
      type: 'public',
    },
  },
};

5. 构建并启用插件

最后一步,构建插件前端代码并重启Strapi:

# 进入插件目录构建前端
cd ./plugins/my-plugin && npm run build
# 返回项目根目录重启Strapi服务
cd ../.. && strapi develop

注意:Strapi 3 Beta用了全新的UI组件库,和Alpha版本的组件写法差异很大,如果你需要复杂的UI,可以参考Strapi内置插件(比如Content Manager)的代码结构来调整。

现在你应该能在左侧侧边栏看到你的自定义插件了!

内容的提问来源于stack exchange,提问作者Abd0m1nals

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:05:58