Весь импорт здесь относительно. Может быть сложно вспомнить, сколько папок нужно перепрыгивать.
Если вы перемещаете файлы, вам придется обновить все пути импорта.
Давайте посмотрим, как мы можем ссылаться на импорт абсолютно, чтобы TypeScript всегда смотрел на папку root / sr c при поиске элементов.
Наша цель для этого будет ссылаться на такие вещи:
import { HeaderComponent } from '@app/components/header/header.component';
import { FooterComponent } from '@app/components/footer/footer.component';
import { GifService } from '@app/core/services/gif.service';
Это похоже на то, как ссылки Angular импортируются с помощью @ angular, как @ angular / core или @ angular / router.
Настройка абсолютных путей Поскольку TypeScript - это то, что отвечает за перенос наших Angular приложений, мы обязательно настроим наши пути в tsconfig. json.
В tsconfig. json мы будем сделайте две вещи, используя две опции компилятора:
baseUrl: установите базовую папку как / src paths: попросите TypeScript найти @app в папке / src / app, baseUrl будет базовым каталогом, который используется для разрешения не относительных имен модулей. paths - это массив отображаемых записей для имен модулей в расположениях, относящихся к baseUrl.
Вот оригинальный tsconfig. json, который поставляется с новой установкой CLI Angular. Мы добавим две наши строки в compilerOptions.
{
"compileOnSave": false,
"compilerOptions": {
...
"baseUrl": "src",
"paths": {
"@app/*": ["app/*"]
}
}
}
С этим в нашем tsconfig. json теперь мы можем ссылаться на элементы абсолютно!
import { HeaderComponent } from '@app/components/header/header.component';
import { FooterComponent } from '@app/components/footer/footer.component';
import { GifService } from '@app/core/services/gif.service';
Это здорово, потому что мы теперь можно перемещать наши файлы и не беспокоиться об обновлении путей везде.
на основе это :
/ - Site root
~/ - Root directory of the application
это может быть тоже полезно;