Короткие пути к файлам (path mapping в typescript)
Зачастую в иерархической структуре сайта типичны такие длинные относительные урлы как:
import { AuthCodeComponent } from './components/session/auth-code/auth-code.component';
Было бы здорово их укоротить и вообще сделать абсолютным, например :
import { AuthCodeComponent } from '@session/auth-code/auth-code.component';
Это не только приятно зрительно, но и упрощает подключение одних и тех же сущностей Angular в разных проектах.
Также удобно подключать файлы в различных папках приложения одним способом.
И это возможно с помощью typescript path mapping.
Для этого в корневом файле проекта tsconfig.json прописываем
"compilerOptions": { "baseUrl": "./src", "paths": { "@session/*": ["app/components/session/*"] } }
В результате полный путь к файлу = baseUrl + «app/components/session/*».
Если же вы используете для тестов jest, то понадобиться прописать в его настройках в файле package.json:
"jest": { "moduleNameMapper": { "@session/(.*)": "/src/app/shared/$1" } }
Работает на версиях
"@types/jest": "^22.2.3", "jest": "^22.4.4", "jest-preset-angular": "^5.2.2"
Хотите быть в курсе новых статей?
❦