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

Express/Node中require出现下划线,安装@types/express未生效如何解决

下划线标识的原因

这个下划线是IDE/类型检查工具给出的类型缺失警告,不属于代码运行错误,所以你的代码可以正常执行。标下划线的核心原因是类型检查工具没有识别到require这个CommonJS API的类型定义,你之前只安装了express的类型包,没有覆盖到Node本身的全局API定义。

对应解决方法

如果你是TypeScript项目

  • 首先安装Node全局API的类型包:
    npm install --save-dev @types/node
    
  • 如果安装完成后警告仍存在,检查tsconfig.json的compilerOptions配置:
    • 若你手动配置了types数组,需要把"node"加入数组,比如"types": ["node", "react", "jest"]
    • 确认module配置项支持CommonJS规范,可设置为CommonJS、NodeNext等值
  • 若你是在React前端代码中用require引入静态资源(图片、样式等),需要在全局类型声明文件(一般为src/global.d.ts或src/react-app-env.d.ts)中补充资源类型声明,示例:
    declare module '*.png' {
      const src: string
      export default src
    }
    declare module '*.css'
    

如果你是纯JavaScript项目

在项目根目录新增jsconfig.json文件,添加以下配置即可:

{
  "compilerOptions": {
    "module": "CommonJS",
    "target": "ES6"
  },
  "exclude": ["node_modules"]
}

额外优化建议

前端React项目优先使用ES模块的import语法替代require,既符合前端生态规范,也能避免这类CommonJS相关的类型警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 14:15:03