псевдонимы vscode "Перейти к определению" не удаются на огромном проекте - PullRequest
0 голосов
/ 07 ноября 2018

У меня огромный проект для более чем 4000 модулей и, конечно, мы используем псевдонимы веб-пакетов:

appAliases: {
   components: resolveApp('src/components'),
   features: resolveApp('src/features'),
   core: resolveApp('src/core'),
   api: resolveApp('src/api'),
   store: resolveApp('src/app-store/store'),
   images: resolveApp('src/images'),
   constants: resolveApp('src/constants'),
   fonts: resolveApp('src/fonts'),
   extensions: resolveApp('src/extensions'),
   localization: resolveApp('src/localization'),
   'app-router': resolveApp('src/app-router'),
   'app-store': resolveApp('src/app-store'),
   'unit-test-mocks': resolveApp('src/unit-test-mocks'),

},

каждая папка в корне имеет файл index.js с содержимым export * from './my-awesome-component export * from './my-second-awesome-component

Кроме того, каждый вложенный компонент также включает index.js, который, вероятно, экспортирует файл основного компонента

вложенный index.js на уровень компонента export * from './my-awesome-component' и так далее, в основе root лежит основной экспорт.

А vsCode зависает при обработке такого экспорта и разрыве перехода к определению

Я не могу перейти к глубоко вложенным компонентам Я перепробовал несколько конфигов vscode, последняя из которых

{
  "compilerOptions": {
    "target": "ES6",
    "jsx": "react",
    "checkJs": true,
    "module": "es6",
    "allowSyntheticDefaultImports": false,
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "components/*": ["src/components/*"],
      "features/*": ["src/features/*"],
      "core/*": ["src/core/*"],
      "api/*": ["src/api/*"],
      "store/*": ["src/app-store/store/*"],
      "images/*": ["src/images/*"],
      "constants/*": ["src/constants/*"],
      "fonts/*": ["src/fonts/*"],
      "extensions/*": ["src/extensions/*"],
      "localization/*": ["src/localization/*"],
      "app-router/*": ["src/app-router/*"],
      "app-store/*": ["src/app-store/*"]
    }
  },
  "exclude": ["node_modules", "**/node_modules/*"]
}
...