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

Hexo更新后编译EJS报错:Unexpected token '=>' 求助

问题分析与解决

编译EJS时出现Unexpected token '=>'错误,核心原因并非EJS本身不支持箭头函数,而是Hexo更新后,项目依赖的EJS版本或渲染配置发生变化,导致ES6箭头函数语法未被正确解析。

快速解决:替换箭头函数为普通函数

直接将代码中的箭头函数改为传统函数表达式,无需调整依赖即可解决问题,修改后的代码如下:

<% if (page.lang == "en") { 
    site.pages.data
        .filter(function(p) { return p.lang == "en"; })
        .sort(function(p1, p2) { return p1.menuorder - p2.menuorder; })
        .forEach( function(p, idx) { %> 
            <%- partial( 'menu_item', {data: p, page: page} ) %> 
        <% }) %> 
        <%- partial( 'menu_item', {data: {path:"", menutitle: "Nederlands"}} ) %> 
<% } else {
    site.pages.data
        .filter(function(p) { return p.lang == "nl"; })
        .sort(function(p1, p2) { return p1.menuorder - p2.menuorder; })
        .forEach( function(p, idx) { %> 
            <%- partial( 'menu_item', {data: p} ) %> 
        <% }) %> 
        <%- partial( 'menu_item', {data: {path:"en_introduction.html", menutitle: "English"}} ) %> 
<% } %>

根本解决:确保EJS支持ES6语法

如果想保留箭头函数,可按以下步骤调整:

  • 查看package.json中ejs或hexo-renderer-ejs的版本,确保使用v3.1.6及以上的最新稳定版(该版本默认支持ES6语法)
  • 若版本过低,执行npm install ejs@latest或npm install hexo-renderer-ejs@latest更新依赖
  • 若更新后仍有问题,在Hexo配置文件_config.yml中添加以下配置,强制启用ES6支持:
    ejs:
      options:
        strict: false
    

内容的提问来源于stack exchange,提问作者Simon H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 05:44:52