功能配置
🌐 Features configuration
Page summary:
/config/features中的未来标志用于切换 Strapi 的实验性功能,允许你自行承担风险进行早期测试。
config/features.js|ts 文件用于启用功能标志。目前此文件仅包含一个 future 对象,用于通过未来标志启用实验性功能。
🌐 The config/features.js|ts file is used to enable feature flags. Currently this file only includes a future object used to enable experimental features through future flags.
一些即将推出的 Strapi 功能尚未准备好向所有用户发布,但 Strapi 仍然为社区用户提供了机会,对这些新功能或更改提供早期反馈。通过这些实验性功能,开发者可以灵活地选择并将新的功能和更改集成到他们的 Strapi 应用中,同时这些功能和更改会在当前的主要版本中逐步可用,并帮助我们共同塑造这些新功能。
🌐 Some incoming Strapi features are not yet ready to be shipped to all users, but Strapi still offers community users the opportunity to provide early feedback on these new features or changes. With these experimental features, developers have the flexibility to choose and integrate new features and changes into their Strapi applications as they become available in the current major version as well as assist us in shaping these new features.
这些实验性功能在整个文档中以 Feature FlagThis feature requires a feature flag to be enabled. 徽章表示,徽章中包含要使用的功能标志名称(例如, FeatureFlagNameThis feature requires the FeatureFlagName feature flag to be enabled.)。启用这些功能需要启用相应的未来标志。未来标志与处于 alpha 阶段的功能不同,未来标志默认是禁用的。
启用未来功能标记风险自负。实验性功能可能会发生更改或被移除,可能包含破坏性更改,可能不稳定或未完全准备好使用,并且某些部分可能仍在开发中或使用模拟数据。
🌐 Enable future flags at your own risk. Experimental features may be subject to change or removal, may contain breaking changes, may be unstable or not fully ready for use, and some parts may still be under development or using mock data.
启用未来标志
🌐 Enabling a future flag
要启用未来标志:
🌐 To enable a future flag:
- (可选) 如果服务器正在运行,使用
Ctrl-C停止它。 - 打开
config/features.js|ts文件,如果文件尚不存在则创建它。该文件将导出一个future对象,其中包含所有未来要启用的标志。 - 要启用未来标志,请将其属性名称(参见完整列表)添加到
future对象中,并确保该属性的值设置为true。以下示例展示了如何启用experimental_firstPublishedAt未来标志:
- JavaScript
- TypeScript
module.exports = ({ env }) => ({
future: {
experimental_firstPublishedAt: env.bool('STRAPI_FUTURE_EXPERIMENTAL_FIRST_PUBLISHED_AT', false),
},
})
这个示例假设你在应用的根目录下有一个 .env 环境文件,并且该文件包含以下行:
STRAPI_FUTURE_EXPERIMENTAL_FIRST_PUBLISHED_AT=true
如果你的环境文件不包含此值,experimental_firstPublishedAt 未来标志属性值将默认为 false,并且实验性功能将不会启用。
export default {
future: {
experimental_firstPublishedAt: env.bool('STRAPI_FUTURE_EXPERIMENTAL_FIRST_PUBLISHED_AT', false),
},
};
这个示例假设你在应用的根目录下有一个 .env 环境文件,并且该文件包含以下行:
STRAPI_FUTURE_EXPERIMENTAL_FIRST_PUBLISHED_AT=true
如果你的环境文件不包含此值,experimental_firstPublishedAt 未来标志属性值将默认为 false,并且实验性功能将不会启用。
- 重建管理面板并重新启动服务器:
- Yarn
- NPM
yarn develop
npm run develop
未来标志 API
🌐 Future flags API
开发者可以使用以下 API 与未来的标志进行交互:
🌐 Developers can use the following APIs to interact with future flags:
- 功能配置是
config对象的一部分,可以通过strapi.config.get('features')或strapi.features.config读取。 strapi.features.future返回isEnabled(),可以通过以下方法strapi.features.future.isEnabled('featureName')来确定将来的标志是否启用。
可用的未来标志
🌐 Available future flags
| 属性名称 | 相关功能 | 建议的环境变量名称 || --- | --- | --- || experimental_firstPublishedAt | 草稿与发布 | STRAPI_FUTURE_EXPERIMENTAL_FIRST_PUBLISHED_AT |