【问题标题】:npm run build error with vite (typescript)npm 使用 vite 运行构建错误(打字稿)
【发布时间】:2021-12-13 17:31:18
【问题描述】:

错误

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 有关,所以这是可以修复的,但第二部分没有没有意义,感谢任何帮助!

【问题讨论】:

  • 看起来你不小心升级到了react-router-dom v6.... 这些被投诉的项目在 v6 中都不存在,它们已被删除。要么恢复到 v5,要么遵循upgrade from v5 指南。
  • 我升级到 v6 的同样问题 - 但类型不存在

标签: reactjs react-router react-router-dom vite


【解决方案1】:

我也有同样的问题。当我处于开发模式时,我的环境可以工作,但是当我通过 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 的类型可用。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      相关资源
      最近更新 更多