Simplifying Imports in React Native with Absolute Paths

Prasanth Venkatachalam
2 min readDec 19, 2023

Introduction:

When working on larger React Native projects, managing import paths can become cumbersome. Fortunately, there’s a solution that makes your import statements cleaner and more maintainable — absolute paths.

Setting Up Absolute Paths:

  1. Install Dependencies:

Start by installing the necessary packages:

npm i babel-plugin-module-resolver

2. Configuring Babel:

Create or update your babel.config.js file with the following content:

module.exports = {
plugins: [
[
'module-resolver',
{
alias: {
'@app': './src',
},
},
],
],
};

This configuration tells Babel to resolve imports starting with @app to the corresponding path in the src directory.

3. Configuring TypeScript :

If your project already has a tsconfig.json file, update it with the following content:

{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@app/*": ["src/*"]
}
}
}

If there is no existing tsconfig.json file, create one in the root directory of your project.

4. If Not Using TypeScript:

If your project is not using TypeScript, you can achieve a similar effect by creating or updating the jsconfig.json file. Create or update the jsconfig.json file in the root directory:

{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@app/*": ["src/*"]
}
}
}

This ensures that your JavaScript files also recognize the absolute paths during development.

Using Absolute Paths in Your Project:

Now that the setup is complete, you can use absolute paths in your import statements. For example:

// Before
import TouchableView from '../../components/common/TouchableView';

// After
import TouchableView from '@app/components/common/TouchableView';

Benefits:

  1. Cleaner Code: Absolute paths make your import statements more concise and improve code readability.
  2. Easy Refactoring: If you decide to reorganize your project structure, you only need to update the alias in the configuration.
  3. Consistent Imports: All developers on your team can use the same import convention, leading to a more consistent codebase.

Conclusion:

Simplifying import paths with absolute paths is a small change that can have a big impact on the maintainability and readability of your React Native project. By configuring Babel and TypeScript to recognize these paths, you can streamline your development workflow.

--

--

Prasanth Venkatachalam

Founder of NiralSpectrum.com.Driven React & React Native Developer crafting innovative mobile experiences. Transforming ideas into reality with design and code.