silverstripe/silverstripe-nextjs

Silverstripe NextJS 功能

安装次数: 792

依赖项: 0

建议者: 0

安全性: 0

星星: 3

关注者: 13

分支: 4

开放问题: 0

类型:silverstripe-vendormodule

dev-main 2021-12-02 22:37 UTC

This package is auto-updated.

Last update: 2024-08-29 06:12:53 UTC


README

此模块提供了一些集成 Silverstripe CMS 与 NextJS 的基本功能。其主要目的是与相关的 Silverstripe/NextJS 开发工具包 配合使用。

功能

静态构建配置

NextJS 支持 增量静态重生成(ISR),它只是静态发布网站上所有页面的子集,其余的则在请求时间按需生成。此模块允许您设计策略,确定应包含在初始静态构建中的内容。

限制静态构建

每个收集器都有自己的 Limit 字段,但汇总构建也有一个,如上所示。汇总限制将始终覆盖每个收集器的单个限制。

预览构建

您可以通过点击“预览”选项卡来查看将基于当前收集器列表包含在构建中的内容。

创建新的策略

您只需要继承 StaticBuildCollector 类,在 $db 中定义任何可以作为参数使用的字段(Limit 已经包含在内),然后定义一个只需返回一个 Limitable 实例的 collect() 方法。

class HighlyCommentedPagesCollector extends StaticBuildCollector
{
    public function collect(): Limitable
    {
        return Page::get()
            ->filter('Comments.Count():GreaterThan', 5)
            ->limit($this->Limit);
    }
}
  • 最近页面收集器:获取最后 X 个编辑的页面(例如,在 CMS 中最近修改的内容将静态构建)

  • 部分收集器:从网站结构中的给定部分获取 X 个页面(例如,在 products/ 部分中发布所有内容)