How to Use TypeScript Aliases to Clean Up Your Import Statements

2 min read
How to Use TypeScript Aliases to Clean Up Your Import Statements
Photo by Emile Perron / Unsplash

When working with any technology it is important to maintain your code clean and organized. One way to achieve this in TypeScript is by using TypeScript aliases to shorten and simplify your import statements. In this post, we will go over how to configure and use them to make your code better!

What are TypeScript Aliases?

TypeScript aliases allow you to create a shorter name for a module or file. For example, instead of importing a module using a relative path, you can create an alias and use it instead. This makes your code more readable and easier to maintain.

Setting your aliases

To create an alias in TypeScript, you need to define the paths and baseUrl properties in the compilerOptions section in the tsconfig.json file:

  "compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "@components/*": ["app/components/*"],
      "@services/*": ["app/services/*"],
      "@users/*": ["app/users/*"]

In the above code snippet, we have defined three aliases: @components, @services, and @users. The asterisk (*) at the end of each path is a wildcard that allows us to import any file within the specified folder.

How to use them in your code

Now that we have defined our aliases, we can use them in our import statements!

import { Component } from "@components/Component";
import { Service } from "@services/Service";
import { User } from "@users/User";

As you can see, our import statements are much cleaner and easier to read. We no longer need to use the relative path (../../../) to import modules.

Using Barrels

Another way to simplify your import statements is by using barrels.

Barrels are files that re-export multiple modules from a single location. For example, you could create a barrel file named index.ts in the app/components folder with the following code:

export { Component1 } from "./Component1";
export { Component2 } from "./Component2";
export { Component3 } from "./Component3";

Then, you could import all of the components using a single import statement:

import { Component1, Component2, Component3 } from '@component';

This is especially useful when you have a lot of modules to import from a single folder.

Benefits of Using Aliases

The major benefit of using aliases is that it makes your code more readable and easier to maintain. When you move components around or add new ones, you won't need to update your import statements. This can save you a lot of time and effort, especially when working on large projects.


By defining aliases and using barrels, you can make your code more organized, readable, and easier to maintain. If you haven't used aliases before, I highly recommend giving them a try in your next TypeScript project.

Harduex blog