typescript 错误:找不到模块vite、react、react-router-dom

dffbzjpn  于 2022-11-18  发布在  TypeScript
关注(0)|答案(1)|浏览(198)

错误

我使用yarn create vite命令创建了一个react-ts应用程序,并使用vite作为构建工具。在yarn add安装包后,在vite.config.ts文件中:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

它给后周:找不到模块'vite',找不到模块'@vitejs/plugin-react'.当我尝试在tsx文件中导入react, react-router-dom时也会出现这个问题.但是我已经使用yarn install安装了package.json文件中提到的所有依赖项(我也尝试了yarn add,没有成功).

尝试的解决方案

我尝试了以下解决方案,但没有一个能完全解决问题:

  • 使用npm install / yarn add缺少的模块

错误仍然存在。

  • 创建一个文件xxx.d.ts,然后声明缺少模块,并在ts.config中声明include xxx.d.ts

可以解决useState等函数给予的缺模问题。
虽然错误是由VS代码报告的,但项目可以运行,它的工作。所以我想知道错误是否与配置文件或ESLint有关。
文件
下面是我的package.json

{
  "name": "client",
  "private": true,
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.2",
    "@testing-library/react": "^12.1.2",
    "@testing-library/user-event": "^13.5.0",
    "@types/jest": "^27.4.0",
    "@types/node": "^16.11.22",
    "@types/react": "^17.0.39",
    "@types/react-dom": "^17.0.11",
    "@types/react-router-dom": "^5.3.3",
    "axios": "^0.25.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router-dom": "^6.2.1",
    "typescript": "^4.5.5",
    "web-vitals": "^2.1.4"
  },
  "devDependencies": {
    "@types/react": "^17.0.33",
    "@types/react-dom": "^17.0.10",
    "@vitejs/plugin-react": "^1.0.7",
    "typescript": "^4.5.4",
    "vite": "^2.8.0"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    "useDefineForClassFields": true,
    "lib": ["DOM", "DOM.Iterable", "ESNext"],
    "allowJs": true,
    "skipLibCheck": false,
    "esModuleInterop": false,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "ESNext",
    "moduleResolution": "Node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",
  },
  "include": ["src"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

tsconfig.node.json

{
  "compilerOptions": {
    "composite": true,
    "module": "esnext",
    "moduleResolution": "node"
  },
  "include": ["vite.config.ts"]
}
k10s72fa

k10s72fa1#

和我遇到的问题不完全一样。
但无论如何,尝试全局安装vite。
但最好的选择是卸载当前的节点版本(并清理全局node_modules...),然后安装最新的节点版本,实际上是节点17。

相关问题