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

Eleventy SSG搭配Strapi CMS:内容更新是否需重启及自动更新方法咨询

解决Eleventy与Strapi内容自动同步问题

你不需要重启Eleventy服务器就能同步Strapi更新的内容。当前更新后站点无变化,是因为Eleventy默认只监听本地文件系统的变动,而Strapi内容存储在数据库中,本地没有文件更新触发Eleventy重新构建,所以只有重启时才会重新拉取CMS内容。

以下是几种无需重启即可同步内容的方法:

方法1:利用Strapi Webhook触发Eleventy重新构建

这是最实时、高效的方案:

  1. 启动Eleventy开发服务器时启用监听与自动重载:
    执行以下命令启动服务器,它会开启文件监听并提供内置的重载端点:
    npx @11ty/eleventy --serve --watch
    
  2. 在Strapi中配置Webhook:
    • 登录Strapi后台,进入「Settings」>「Webhooks」,点击「Add new webhook」。
    • 填写Webhook名称,在「Trigger events」中勾选内容相关事件(比如entry.create、entry.update、entry.delete)。
    • 在「URL」栏填写Eleventy开发服务器的重载端点:http://localhost:8080/__reload(若修改过默认端口,对应替换即可)。
    • 保存Webhook。

之后每次在Strapi中更新内容,Webhook会自动发送请求触发Eleventy重新构建,站点内容会自动同步更新。

方法2:定时触发Eleventy重新构建

如果暂时无法配置Webhook,可以设置定时任务定期拉取Strapi内容并重新构建:

  • 安装node-schedule定时工具,在项目中编写脚本定时执行Eleventy构建命令:
    const schedule = require('node-schedule');
    const { exec } = require('child_process');
    
    // 每5分钟执行一次构建
    schedule.scheduleJob('*/5 * * * *', function(){
      exec('npx @11ty/eleventy', (error, stdout, stderr) => {
        if (error) {
          console.error(`构建错误: ${error.message}`);
          return;
        }
        console.log(`构建完成`);
      });
    });
    
  • 在package.json中配置组合脚本,启动开发服务器时同时运行定时任务:
    "scripts": {
      "dev": "npx @11ty/eleventy --serve --watch & node schedule-build.js"
    }
    

这种方法的缺点是同步存在延迟,适合对实时性要求不高的场景。

方法3:监听本地缓存文件触发重新构建

如果上述方法都不适用,可以通过监听本地缓存文件的变动间接触发Eleventy构建:

  1. 在Eleventy配置文件(.eleventy.js)中添加监听目标:
    module.exports = function(eleventyConfig) {
      // 监听本地的strapi-cache.txt文件
      eleventyConfig.addWatchTarget('./strapi-cache.txt');
    };
    
  2. 在Strapi中编写自定义服务,当内容更新时修改strapi-cache.txt的内容(比如写入当前时间戳)。
  3. 启动Eleventy开发服务器时带上--watch参数,每次strapi-cache.txt变动,Eleventy就会重新拉取Strapi内容并构建。

这种方法需要额外的Strapi自定义开发,适合需要自定义触发逻辑的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 11:57:17