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

Node.js向EJS模板传递stripePublickey触发ReferenceError如何解决

问题根源

你出现报错的核心原因是服务端传递的变量名和EJS模板中引用的变量名大小写不匹配:

  • 服务端res.render方法中传递的参数键名为stripePublickey(末尾key的首字母k为小写)
  • EJS模板中引用的变量名为stripePublicKey(末尾key的首字母K为大写)
    EJS模板对变量名大小写敏感,无法匹配到对应变量就会抛出引用错误。

解决方案

任选一种方式统一变量名即可:

方案1:修改服务端传参键名

将服务端传递的参数键名调整为和模板引用一致的大写格式:

const stripePublickey = process.env.STRIPE_PUBLIC_KEY

res.render('pricing.ejs', {
      stripePublicKey: stripePublickey,
      items: JSON.parse(data)
})

方案2:修改EJS模板引用的变量名

将模板中引用的变量名调整为和服务端传参一致的小写格式:

<script>
      var stripePublicKey = '<%= stripePublickey %>'      
</script>

额外提醒:修复变量名问题后可以顺带检查process.env.STRIPE_PUBLIC_KEY是否正常读取到了有效值,避免后续调用Stripe接口时出现异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:00:04