When developing custom WordPress blocks using @wordpress/scripts, you can simplify your import paths by setting up @ as an alias for your src directory. This makes your code cleaner and easier to manage.
Step 1: Create a Webpack Configuration File
By default, @wordpress/scripts comes with a pre-configured Webpack setup. To extend it and add an alias, create a webpack.config.js file in the root of your project and add the following code:
const defaultConfig = require('@wordpress/scripts/config/webpack.config');
const path = require('path');
module.exports = {
    ...defaultConfig,
    resolve: {
        ...defaultConfig.resolve,
        alias: {
            ...defaultConfig.resolve.alias,
            '@': path.resolve(__dirname, 'src'), // Set '@' to point to the 'src' directory
        },
    },
};
    
    Step 2: Use the @ Alias in Your Imports
Once you’ve set up the alias, you can use @ instead of relative paths in your imports.
Before:
import { Tabs, TabsList, TabsTrigger } from "./ui/tabs";
    
    After:
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
    
    Step 3: Update TypeScript Configuration (Optional)
If you’re using TypeScript, update your tsconfig.json file to recognize the @ alias. Add the following configuration:
{
    "compilerOptions": {
        "baseUrl": "./",
        "paths": {
            "@/*": ["src/*"]
        }
    }
}
    
    Step 4: Restart Your Development Server
After making these changes, restart your development server to apply the new Webpack and TypeScript configurations.
Conclusion
By configuring Webpack to recognize @ as an alias, you can:
- Avoid long relative import paths
- Improve code readability and maintainability
- Standardize import paths across your project
Now your project is set up with a cleaner, more efficient import structure. Happy coding!
Tags: wp-scripts
 



