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

导入express报Cannot read properties of undefined (reading 'prototype')如何解决

该报错的所有可能触发原因

该报错的核心根因为:express依赖的Node.js原生http模块加载异常,导致http.ServerResponse为undefined,具体诱因如下:

  • 运行环境不匹配
    错误地将express引入到浏览器端(如React、Vue等前端项目)运行,http是Node.js专属内置模块,浏览器环境无该模块,自然无法读取ServerResponse属性。常见于全栈项目开发中,误将后端业务代码导入到前端入口文件的场景。
  • Node.js版本与express版本不兼容
    当前使用的Node.js版本过旧,与安装的express版本要求的运行环境不匹配,旧版Node.js的http模块结构不符合当前express的预期,导致ServerResponse不存在。
  • 依赖损坏或安装异常
    node_modules目录下的express相关依赖因网络中断、磁盘错误等原因损坏,无法正确加载依赖的原生模块。可删除node_modules文件夹、package-lock.json/yarn.lock/pnpm-lock.yaml文件后重新执行依赖安装命令尝试修复。
  • 模块系统配置冲突
    项目使用ES Module语法(import)导入express,但package.json中未配置"type": "module",或项目存在ES Module与CommonJS规范混用的情况,导致模块加载上下文异常,http模块加载失败。
  • 原生模块被自定义内容覆盖
    项目根目录下存在命名为http.js/http.ts的自定义文件,或引入的第三方依赖重写了原生http模块,导致express加载时获取到的是被篡改后的http对象,不存在ServerResponse属性。
  • 打包工具配置错误
    用Vite、Webpack、Rollup等工具打包Node.js后端代码时,配置项错误:比如将target设置为web而非node,或是错误地将http等原生模块标记为外部依赖排除打包,导致运行时无法正确加载http模块。

补充说明:import {express} from 'express'本身是错误写法,express为默认导出,正确导入语法为import express from 'express'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:21:02