Использование typescript baseurl и путей нарушает React-Router

#reactjs #typescript #react-router

#reactjs #typescript #react-маршрутизатор

Вопрос:

Я пытаюсь установить базовые ссылки и пути в tsconfig, однако всякий раз, когда я меняю baseUrl, я получаю следующую ошибку

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

Я попытался установить node_path в env config и переместить path и baseurl в отдельный файл typescript, как было предложено в потоке 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

Комментарии:

1. есть ли структура в рабочих пространствах yarn?

2. не использует npm для установок и еще не касался yarn. На самом деле не знаком с этим

Ответ №1:

Ладно, здесь немного глупо.

В "src" каталоге был файл History.ts. Таким образом, изменение baseUrl на src привело к тому, что это местоположение было проверено первым даже в сторонних библиотеках. Поэтому излишне говорить, что этот объект истории не содержал этих определений

Некоторая реорганизация папок / файлов устранила проблему