BP75: Shorten your relative paths

Shorter paths in Sass

Adding stylePreprocessorOptions with includePaths to angular.json will make all the paths from included paths available in imports without the need to enter the full path.

Example:
@import 'bootstrap-bc';

Thanks to stylePreprocessorOptions+includePaths, the import above can be used in any file without the need to enter the full path to Scss files.

Naming conflicts could happen, prefixes are good to have

Shorter paths in Angular/TypeScript

Problem: Imports of services get broken if relative path is used and the component is moved to a different folder. They also get broken if the services are moved to a different folder.

Solution: TypeScript barrel + tsconfig.json compilerOptons.paths allows for nice single-line imports. As an example, all Swagger API-related modules can be imported like this:

import { JobInterviewQuestionList, JobInterviewQuestionListsService } from '@api/api';

If the barrel + compilerOptions.paths are used, there is no need to enter any paths so both linking file and linked files can be moved to a different location without breaking things.

Comments

Jan
If the barrel + compilerOptions.paths are used, there is no need to enter any paths so both linking file and linked files can be moved to a different location without breaking things.
Jan
TypeScript barrel + tsconfig.json compilerOptons.paths allows for nice single-line imports of all Swagger API-related modules like this: import { JobInterviewQuestionList, JobInterviewQuestionListsService } from '@api/api';
Jan
Imports of services get broken if relative path is used and the component is moved to a different folder. They also get broken if the services are moved to a different folder.
Jan
Can be used for TypeScript and Sass
Jan
Naming conflicts could happen, prefixes are good to have
Jan
@import 'bootstrap-bc'; Thanks to stylePreprocessorOptions+includePaths, the import above can be used in any file without the need to enter the full path to Scss files.
Jan
Example:
Jan
Adding stylePreprocessorOptions with includePaths to angular.json will make all the paths from included paths available in imports without the need to enter the full path.

Download Better Coder application to your phone and get unlimited access to the collection of enterprise best practices.

Get it on Google Play