npm 运行 使用 vite (typescript) 构建错误

npm run build error with vite (typescript)

错误

node_modules/@types/react-router-dom/index.d.ts:13:10 - error TS2305: Module '"react-router"' has no exported member 'match'.
node_modules/@types/react-router-dom/index.d.ts:19:5 - error TS2305: Module '"react-router"' has no exported member 'PromptProps'.
node_modules/@types/react-router-dom/index.d.ts:20:5 - error TS2305: Module '"react-router"' has no exported member 'Prompt'.
node_modules/@types/react-router-dom/index.d.ts:23:5 - error TS2305: Module '"react-router"' has no exported member 'RedirectProps'.
node_modules/@types/react-router-dom/index.d.ts:24:5 - error TS2305: Module '"react-router"' has no exported member 'Redirect'.
node_modules/@types/react-router-dom/index.d.ts:25:5 - error TS2305: Module '"react-router"' has no exported member 'RouteChildrenProps'.
node_modules/@types/react-router-dom/index.d.ts:26:5 - error TS2305: Module '"react-router"' has no exported member 'RouteComponentProps'.
node_modules/@types/react-router-dom/index.d.ts:31:5 - error TS2305: Module '"react-router"' has no exported member 'StaticRouterProps'.
node_modules/@types/react-router-dom/index.d.ts:32:5 - error TS2305: Module '"react-router"' has no exported member 'StaticRouter
node_modules/@types/react-router-dom/index.d.ts:33:5 - error TS2305: Module '"react-router"' has no exported member 'SwitchProps'.
node_modules/@types/react-router-dom/index.d.ts:34:5 - error TS2305: Module '"react-router"' has no exported member 'Switch'.
node_modules/@types/react-router-dom/index.d.ts:35:5 - error TS2305: Module '"react-router"' has no exported member 'match'.
... same errors but different members

node_modules/@types/react-router/index.d.ts:189:53 - error TS2694: Namespace '"C:/Users/user/Desktop/app/frontend/node_modules/history/index"' has no exported member 'LocationState'.
189 export function useHistory<HistoryLocationState = H.LocationState>(): H.History<HistoryLocationState>;
node_modules/@types/react-router/index.d.ts:189:71 - error TS2315: Type 'History' is not generic.
189 export function useHistory<HistoryLocationState = H.LocationState>(): H.History<HistoryLocationState>;                     
node_modules/@types/react-router/index.d.ts:191:35 - error TS2694: Namespace '"C:/Users/user/Desktop/app/frontend/node_modules/history/index"' has no exported member 'LocationState'.
191 export function useLocation<S = H.LocationState>(): H.Location<S>;                                   
node_modules/@types/react-router/index.d.ts:191:53 - error TS2315: Type 'Location' is not generic.
191 export function useLocation<S = H.LocationState>(): H.Location<S>;
... again more errors

package.json

{
  "name": "frontend",
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "@reduxjs/toolkit": "^1.7.0",
    "@types/react-redux": "^7.1.20",
    "@types/react-router-dom": "^5.3.2",
    "axios": "^0.24.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-redux": "^7.2.6",
    "react-router-dom": "^6.1.0"
  },
  "devDependencies": {
    "@types/react": "^17.0.33",
    "@types/react-dom": "^17.0.10",
    "@vitejs/plugin-react": "^1.0.7",
    "typescript": "^4.4.4",
    "vite": "^2.7.0"
  }
}

每当我尝试构建时,它都会向我显示所有这些我以前从未遇到过的错误,所以不知道为什么会这样......,第一部分与 ts 有关,所以这是可以修复的,但第二部分没有意义,任何帮助表示赞赏!

我也有同样的问题。当我处于开发模式时我的环境工作正常,但是当我通过 vite 开始构建时我得到一些 react-router-dom 错误。

@types/react-router-dom 似乎还不适用于 react-router v6。当前,https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router-dom/index.d.ts 显示 Type definitions for react-router-dom 5.3

所以选项是降级到 react-router v5,或者等到 v6 的类型可用。

也许你可以尝试将 "skipLibCheck": true 添加到 tsconfig.json。

{
  "compilerOptions": {
    // ...
    "skipLibCheck": true
  }
}