машинопись и псевдоним модели не работают в папках верхнего уровня - PullRequest
0 голосов
/ 09 апреля 2020

Имеются следующие коды:

в упаковке. json:

  "_moduleAliases": {
    "config": "src/config",
    "pages": "src/pages",
  }

в пачке:

resolve: {
  extensions: ['.ts', '.tsx', '.js'],
  alias: {
    config: path.join(__dirname, 'src/config'),
    pages: path.join(__dirname, 'src/pages'),
  }
  ...
}

в tsconfig:

"compilerOptions": {
  "paths": {
    "config/*": ["src/config/*"]
    "pages/*": ["src/pages/*"]
  }
  ...
}

И у меня есть такая структура папок:

src
  |- config
    |- index.ts
  |- pages
    |- home
      |- index.tsx
      |- types.tsx

src / config / index.ts выглядит следующим образом:

export const env = 'dev';

Использование в src / pages / index.ts:

import {env} from 'config';

Это выдаст ошибку:

ERROR in [at-loader] ./src/pages/index.ts:
    TS2307: Cannot find module 'config'.

, но если я сделаю

import { PageType } from 'pages/types'

Это будет работать.

Единственная разница pages/types имеет на один уровень больше папок, чем config. И да, pages также не будет работать, если я просто захочу импортировать что-то из pages/index.ts

Тот же код хорошо работал в javascript. Это происходит, когда я конвертирую проект в машинописный текст.

...