Имеются следующие коды:
в упаковке. 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. Это происходит, когда я конвертирую проект в машинописный текст.