【问题标题】:Using typescript baseurl and paths breaks React-Router使用 typescript baseurl 和 paths 会破坏 React-Router
【发布时间】:2019-08-05 10:37:46
【问题描述】:

我正在尝试在 tsconfig 中设置 baseUrls 和路径,但是每当我更改 baseURL 时,我都会收到以下错误

./node_modules/react-router/es/StaticRouter.js
120:40-54 'history' does not contain an export named 'createLocation'.

我已尝试在 env 配置中设置 node_path 并将路径和 baseurl 移动到单独的打字稿文件中,如 github 线程中所建议的那样,但这不起作用。

这就是我现在在 Tsconfig 中的内容

{
  "compilerOptions": {
    "baseUrl": "src",
    "outDir": "build/dist",
    "module": "esnext",
    "target": "es5",
    "lib": ["es6", "dom"],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "src",
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": true,
    "paths": {
      "sagas/*": ["sagas/*"],
      "src/*": ["./*"],
      "*": [ "node_modules/@types/*", "*"]
    }
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "build",
    "lib",
    "tests",
    "scripts",
    "acceptance-tests",
    "webpack",
    "jest",
    "__mocks__",
    "__test__",
    "src/setupTests.ts"
  ]
}

请注意,将 baseUrl 改回 '.' 可以解决问题,但自定义路径将不再有效

Typescript 版本是 3.3.1

【问题讨论】:

  • 是纱线工作区的结构吗?
  • 不使用 npm 进行安装,还没有接触过 yarn。其实不熟悉

标签: reactjs typescript react-router


【解决方案1】:

这里有点笨。

"src" 目录中有一个 History.ts 文件。因此,将baseUrl 更改为src 会导致即使在第三方库中也首先检查该位置。所以不用说那个历史对象不包含那些定义

一些文件夹/文件重组解决了这个问题

【讨论】:

    猜你喜欢
    • 2015-01-08
    • 2018-07-20
    • 1970-01-01
    • 2017-10-22
    • 2021-04-08
    • 1970-01-01
    • 2016-01-02
    • 2020-02-17
    • 1970-01-01
    相关资源
    最近更新 更多