特色功能 Features configuration

启用实验性的 Strapi 功能

config/features.js|ts 文件用于启用功能标志。目前,此文件仅包含一个 future 对象,用于通过 future flags 启用实验性功能。

一些即将推出的 Strapi 功能尚未准备好发送给所有用户,但 Strapi 仍为社区用户提供了对这些新功能或更改提供早期反馈的机会。借助这些实验性功能,开发人员可以灵活地选择新功能和更改并将其集成到他们的 Strapi 应用程序中,因为它们在当前主要版本中可用,并帮助我们塑造这些新功能。

此类实验性功能在整个文档中以 Future 徽章表示,启用这些功能需要启用相应的未来标志。未来标志与处于 alpha 阶段的功能不同,因为未来标志默认处于禁用状态。

启用未来标志风险自负。实验性功能可能会更改或删除,可能包含重大更改,可能不稳定或尚未完全准备好使用,并且某些部分可能仍在开发中或使用模拟数据。

启用特色功能标志

要启用未来标志:

  1. (可选)如果服务器正在运行,请使用 Ctrl-C 停止它。
  2. 打开 config/features.js|ts 文件,如果文件尚不存在,则创建它。该文件将导出一个 future 对象,其中包含要启用的所有未来标志。
  3. 要启用未来标志,请将其属性名称(参见 完整列表)添加到 future 对象,并确保该属性的值设置为 true。以下示例显示如何启用 contentReleasesScheduling 未来标志:
js
/config/features.js
js
module.export = ({ env }) => ({
  future: {
    // 您也可以简单地写:contentReleases: true
    contentReleasesScheduling: env.bool('STRAPI_FUTURE_CONTENT_RELEASES_SCHEDULING', false),
  },
})

此示例假设您的应用程序根目录中有一个 .env 环境文件,并且该文件包含以下行:

.env
sh
STRAPI_FUTURE_CONTENT_RELEASES_SCHEDULING=true

如果您的环境文件不包含此值,则 contentReleasesSchedulingcontentReleases 未来标志属性值将默认为 false,并且不会启用实验性功能。

  1. 重建管理面板并重新启动服务器:
    sh
    yarn
    sh
      yarn develop
    

未来标志 API

开发人员可以使用以下 API 与未来标志进行交互:

  • 功能配置是 config 对象的一部分,可以使用 strapi.config.get('features')strapi.features.config 读取。
  • strapi.features.future 返回 isEnabled(),可用于确定未来标志是否已启用,使用以下方法:strapi.features.future.isEnabled('featureName')

可用的未来标志

目前没有可用的未来标志。一旦有新的实验性功能可供测试,本节将更新。