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

Node.js ESM模式下使用env-var报env.get is not a function错误

报错根因

env-var@7.1.1 在ESM规范下采用默认导出方式暴露核心实例,当前代码使用import * as env from "env-var"的命名空间导入写法,拿到的是包含所有导出属性的模块包装对象,并非env-var直接导出的可调用实例,该对象本身不存在get方法,因此触发TypeError: env.get is not a function运行时错误。

修复方案

修改index.js中的依赖导入语句,使用默认导入写法即可:

// 替换原有错误的导入语句
import env from "env-var"

const PORT = env.get('PORT').default('5432').asString();
console.log(PORT)

如果需要保留命名空间导入的写法,需要手动读取模块的default属性获取核心实例:

import * as envModule from "env-var"
const env = envModule.default

const PORT = env.get('PORT').default('5432').asString();
console.log(PORT)
验证方式

修改完成后执行node index.js,在未手动配置PORT环境变量的场景下,会正常输出默认值5432,无运行时报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:42:17