Skip to content

错误处理 ​

  • 默认抛出错误:模板有语法错误时 render() 以 CompileError 拒绝,运行时出错以 RenderError 拒绝,error.details 会标出模板中的出错行。
  • 宽松模式:传入 debug 回调后,错误交给回调处理;出错的指令被跳过,未闭合的块在模板末尾自动闭合,运行时失败的模板渲染为空字符串。
  • 缺失的值:null 和 undefined 输出为空字符串,对它们做 for 循环会进入 else 分支。
  • 模板校验:validateTemplate(template, options?) 使用真实的解析器,返回全部语法错误(含行列号)以及未注册过滤器的警告。
typescript
import { render, validateTemplate } from 'janja';

const html = await render(template, data, {
  debug: (error) => console.warn(error.details ?? error.message),
});

const { valid, errors, warnings } = await validateTemplate(template);

基于 MIT 许可发布。