我最近更新了我的 hexo 项目,几乎一切都还好,除了我现在从以下部分得到一个错误
Unexpected token '=>' while compiling ejs
。
我不记得更新之前有过这个,但如果有的话,现在应该比过去得到更多支持?
ejs 不支持 fat arrow,还是这个脚本在其他方面有问题?=>
(vscode 坚持修改脚本,但这应该更容易阅读)
<ul class="list-reset lg:flex justify-end flex-1 items-center">
<% if (page.lang == "en") { site.pages.data.filter(p => p.lang
== "en").sort( (p1, p2) => 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(p => p.lang == "nl").sort( (p1, p2) =>
p1.menuorder - p2.menuorder ).forEach( function(p, idx) { %> <%-
partial( 'menu_item', {data: p} ) %> <% }) %> <%- partial(
'menu_item', {data: {path:"en_introduction.html", menutitle:
"English"}} ) %> <% } %>
</ul>
您的代码:
<% if (page.lang == "en") {
site.pages.data
.filter(p => p.lang == "en")
.sort( (p1, p2) => 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(p => p.lang == "nl")
.sort( (p1, p2) => p1.menuorder - p2.menuorder )
.forEach( function(p, idx) { %>
<%- partial( 'menu_item', {data: p} ) %>
<% }) %>
<%- partial( 'menu_item', {data: {path:"en_introduction.html", menutitle: "English"}} ) %>
<% } %>
带有结束标签:
<% if (page.lang == "en") {
我希望这能解决这个错误