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

如何在构建时因缺失指定Front Matter字段触发致命错误?

解决方案:缺失指定Front Matter时终止构建

当然可以实现。主流静态站点生成器(比如Jekyll、Hugo、Eleventy)都支持通过自定义逻辑检查Front Matter字段,当last-medical-review缺失时抛出致命错误,直接终止构建流程。

举几个常见工具的实现方式:

  • Hugo:在布局模板里添加检查逻辑,用errorf函数触发致命错误:
    {{ if not .Params.last_medical_review }}
      {{ errorf "页面 %q 缺失必填的last-medical-review字段" .Path }}
    {{ end }}
    
  • Jekyll:编写Ruby插件,在构建前的钩子中遍历所有页面检查字段:
    Jekyll::Hooks.register :pages, :pre_render do |page|
      unless page.data['last-medical-review']
        raise "页面 #{page.path} 缺少必填的last-medical-review字段"
      end
    end
    
  • Eleventy:在配置文件中使用构建前钩子来检查所有页面:
    module.exports = function(eleventyConfig) {
      eleventyConfig.on('eleventy.before', async ({}) => {
        const allPages = await eleventyConfig.getAllTemplates();
        for (const page of allPages) {
          if (!page.data['last-medical-review']) {
            throw new Error(`页面 ${page.inputPath} 缺失必填的last-medical-review字段`);
          }
        }
      });
    };
    

这类逻辑会在构建过程中主动校验每个页面的Front Matter,一旦发现缺失必填字段,就抛出错误并终止构建,确保所有上线页面都符合规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:40:36