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

TypeScript导入语句报错求助:模块识别与路径异常问题

TypeScript导入语句报错排查:模块语法与路径解析问题

报错信息

"cannot use import statement outside a module"
"CustomError: Cannot find module '/L:/Projects/js/npm/prompto.json/typings' imported from L:\Projects\js\npm\prompto.json\src\structures\prompto.ts"

问题背景

  • 使用的导入语句:import '../../typings';
  • 异常点:报错路径中盘符前出现多余正斜杠(/L:/),导致模块查找失败

解决方案与排查步骤

1. 修复"cannot use import statement outside a module"

该错误是因为文件被识别为CommonJS模块,不支持ES模块的import语法:

  • 在package.json中添加 "type": "module",明确声明项目使用ES模块
  • 确保tsconfig.json的compilerOptions.module设置为ESNext/ES2020等ES模块格式,而非CommonJS

2. 解决路径解析异常(/L:/)

路径出现/L:/是相对路径跨平台解析错误,Windows盘符被错误拼接了根路径斜杠:

  • 先确认typings文件/文件夹是否存在于../../对应的路径(即项目根目录下的typings位置)
  • 若导入的是文件夹,需确保该文件夹内存在index.d.ts文件,否则TS无法识别整个文件夹的类型导出
  • 推荐使用绝对路径别名替代相对路径,避免解析错误:
    在tsconfig.json中配置:
    {
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "@typings": ["./typings"]
        }
      },
      "include": ["src/**/*", "typings/**/*"]
    }
    
    之后导入语句改为import '@typings';

3. 额外验证

  • 检查tsconfig.json的include数组是否包含typings目录,确保编译器能扫描到该文件
  • 若直接运行编译后的JS文件,需确认编译产物的模块格式与package.json的type字段一致

内容的提问来源于stack exchange,提问作者stop-ts

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:40:46