Vite项目导入package.json触发TS2732错误,已配置resolveJsonModule仍无解
解决Vite中vite.config.ts导入package.json的TS2732错误思路
适配Vite模块规范调整导入语法:如果配置文件用ESM格式,导入JSON必须添加断言声明,正确写法如下:
import pkg from './package.json' assert { type: 'json' };若用CommonJS格式(通过
module.exports导出配置),则改用const pkg = require('./package.json'),避免ESM与CommonJS语法混用引发报错。确认TS配置的作用范围:检查
tsconfig.vite.json的include数组是否包含vite.config.ts,示例配置如下:{ "include": ["vite.config.ts", "src/**/*"], "compilerOptions": { "resolveJsonModule": true, "esModuleInterop": true } }同时确保该配置文件未被tsconfig.json的
exclude规则排除,且继承关系未覆盖resolveJsonModule配置。升级TypeScript版本:旧版TS对
resolveJsonModule的支持存在兼容性问题,建议升级到4.5及以上的稳定版本,确保配置项被正确识别。强制指定工作区TS版本:在IDE(如VSCode)中,通过
Ctrl+Shift+P打开命令面板,选择TypeScript: Select TypeScript Version,切换到项目本地安装的TS版本,而非IDE内置版本,避免配置不生效。补充Vite类型声明:在vite.config.ts顶部添加
/// <reference types="vite/client" />,确保Vite相关类型被正确加载,排除类型声明缺失导致的间接报错。
内容的提问来源于stack exchange,提问作者Audiopolis
相关产品推荐
相关产品推荐

