使用打字稿baseurl和路径会破坏React-Router

时间:2019-03-14 13:44:59

标签: reactjs typescript react-router

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

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

我曾尝试在env config中设置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改回'.'可以解决此问题,但是自定义路径将不再起作用

打字稿版本为3.3.1

1 个答案:

答案 0 :(得分:0)

好吧,在这里。

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

某些文件夹/文件的重组解决了该问题