gatsby-plugin-alias-imports
Gatsby plugin for aliasing path locations when importing files.
Last updated 6 years ago by rowanfreeman .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install gatsby-plugin-alias-imports 
SYNC missed versions from official npm registry.

gatsby-plugin-alias-imports

This Gatsby plugin is a wrapper around the webpack feature for aliasing in your import statements.

So you can do

import '@components/navbar'

Instead of

import '../../components/navbar.js'

This works by simply injecting the options into Webpack using onCreateWebpackConfig.

Install

npm i --save gatsby-plugin-alias-imports

yarn add gatsby-plugin-alias-imports

How to use

Add the plugin to your Gatsby config.

{
  plugins: [
    {
      resolve: `gatsby-plugin-alias-imports`,
      options: {
        alias: {},
        extensions: []
      }
    }
  ]
}

Options

alias

Alias should be an object that takes multiple key/value pairs.

The key should be the alias and the value is the path.

The path that you specify can be relative to the root directory or absolute.

To use an absolute directory, you can do something like

const path = require('path')

// [ ... ]

alias: {
  "@components": path.resolve(__dirname, 'src/components')
}

extensions

The extensions allows you to omit extensions when importing files.

It is an array of desired extensions to auto-find.

E.g. js, css, sass, md

Example

gatsby-config.js

{
  plugins: [
    {
      resolve: `gatsby-plugin-alias-imports`,
      options: {
        alias: {
          "@src": "src",
          "@components": "src/components",
          "@layouts": "src/layouts",
          "@pages": "src/pages",
          "@sass": "src/sass",
          "@templates": "src/templates",
          "@posts": "content/posts",
        },
        extensions: [
          "js",
        ],
      }
    }
  ]
}

index.js

import Layout from '@layouts/main'
import { ComponentA, ComponentB } from '@components/myfile'

Further reading

Check out the resolve section of the Webpack config documentation for more information.

Current Tags

  • 1.0.5                                ...           latest (6 years ago)

6 Versions

  • 1.0.5                                ...           6 years ago
  • 1.0.4                                ...           6 years ago
  • 1.0.3                                ...           6 years ago
  • 1.0.2                                ...           6 years ago
  • 1.0.1                                ...           6 years ago
  • 1.0.0                                ...           6 years ago
Maintainers (1)
Downloads
Total 8
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (4)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE