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

TypeScript编译报错:Module 'node:tls'无默认导出的解决方法

问题

基于TypeScript的Node.js项目集成cloud-sql-connector时,编译出现以下错误:

node_modules/@google-cloud/cloud-sql-connector/dist/cjs/connector.d.ts:2:8 - error TS1192: Module '"node:tls"' has no default export.

2 import tls from 'node:tls';

当前tsconfig.json配置:

{
  "compilerOptions": {
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "strict": true,
    "allowJs": true,
    "module": "CommonJS",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es2020"
  },
  "compileOnSave": true,
  "include": [
    "./src/**/*.ts"
  ]
}

手动修改node_modules中对应文件的导入方式可解决,但希望无需修改依赖文件实现修复。

解决方案
  • 启用ES模块互操作选项
    在tsconfig.json的compilerOptions中添加以下两个配置:

    "compilerOptions": {
      // 保留原有配置
      "esModuleInterop": true,
      "allowSyntheticDefaultImports": true
    }
    

    这两个选项会让TypeScript允许对CommonJS模块使用默认导入语法,适配cloud-sql-connector的写法。

  • 添加类型声明补丁
    在项目src目录下创建类型声明文件(比如src/types/node-tls.d.ts),写入以下内容:

    declare module 'node:tls' {
      import * as tls from 'node:tls';
      export = tls;
      export default tls;
    }
    

    该文件会覆盖TypeScript对node:tls模块的类型识别,添加默认导出的定义,从而解决编译错误。

  • 升级cloud-sql-connector版本
    该错误可能是依赖包的版本bug,尝试升级到最新版本:

    npm update @google-cloud/cloud-sql-connector
    # 或使用yarn
    yarn upgrade @google-cloud/cloud-sql-connector
    

    官方可能在新版本中修复了这个导入语法问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:56:07