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

如何在Eleventy框架中使用Nunjucks获取当前月份?

问题排查与解决方案

存在的问题

  • 你编写的短代码本身语法没有错误,但Eleventy是静态站点生成器,短代码会在站点构建阶段执行,返回的是你执行构建命令时的月份,站点部署后不会自动随时间更新,除非你每月重新执行一次构建流程。
  • 代码层面的写法可以简化,无需逐个给月份数组下标赋值。

可行方案

方案1:保留静态短代码(适合每月会固定重新构建站点的场景)

优化后的短代码写法更简洁:

config.addShortcode("month", () => {
  const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
  return months[new Date().getMonth()]
})

使用方式和之前一致,在模板中直接调用对应短代码标签即可。

方案2:客户端动态渲染实时月份(不需要重新构建,访问时自动更新)

如果需要页面展示用户访问时的实时月份,不需要依赖Eleventy构建,直接在页面模板中插入前端JS代码即可:

<span id="current-month"></span>
<script>
const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
document.getElementById("current-month").textContent = months[new Date().getMonth()]
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:27:04