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

VSCode对sinuous/map类型识别异常与Vite导入冲突求助

解决方案

方案1:配置jsconfig.json让VSCode识别JS文件中的类型

在项目根目录创建jsconfig.json,配置如下:

{
  "compilerOptions": {
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "checkJs": true,
    "paths": {
      "sinuous/map": ["./node_modules/sinuous/src/map.js"]
    }
  },
  "include": ["**/*.js"]
}
  • checkJs:开启JS文件的类型检查,让VSCode对JS文件进行类型推断和校验
  • paths:将sinuous/map映射到包内实际的类型文件路径,解决VSCode无法通过exports字段找到类型的问题
  • 保持import { map } from "sinuous/map"的导入方式,Vite会正常读取package.json的exports配置,不会报错

方案2:完善sinuous包的exports类型导出(若有权限修改包)

如果可以修改sinuous包的package.json,在exports的.map条目里显式指定类型文件路径:

"exports": {
  "./map": {
    "types": "./src/map.d.ts",
    "default": "./src/map.js"
  }
}

这样NodeNext模块解析规则会自动识别子模块的类型定义,无需额外配置,JS和TS文件都能直接识别sinuous/map的类型。

方案3:临时添加类型引用注释(应急方案)

在需要使用map的JS文件顶部添加类型引用注释,强制VSCode加载对应类型:

/// <reference types="sinuous/src/map" />
import { map } from "sinuous/map";

该方案无需修改配置,适合临时场景,但需要在每个用到的JS文件中添加注释。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:04:59