6f136f6a7e
Converted example to TypeScript to match Contribution docs. - ~~Renamed `with-absolute-imports` example to `absolute-imports-and-aliases` to match Contribution docs~~ - ~~Replaced deprecated example with a `README.md` file~~ - Used module path aliases in example, to help developers decide which import strategy to use ## Documentation / Examples - [X] Make sure the linting passes by running `pnpm build && pnpm lint` - [X] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md) Co-authored-by: JJ Kasper <jj@jjsweb.site> |
||
---|---|---|
.. | ||
components | ||
pages | ||
.gitignore | ||
package.json | ||
README.md | ||
tsconfig.json |
Absolute Imports and Aliases
This example shows how to configure Absolute imports and Module path aliases in tsconfig.json
(or jsconfig.json
for JavaScript projects). These options will allow absolute imports from .
(the root directory), and allow you to create custom import aliases.
If you’re working on a large project, your relative import statements might suffer from ../../../
spaghetti:
import Button from '../../../components/button'
In such cases, we might want to setup absolute imports using the baseUrl
option, for clearer and shorter imports:
import Button from 'components/button'
Furthermore, TypeScript also supports the paths
option, which allows you to configure custom module aliases. You can then use your alias like so:
import Button from '@/components/button'
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
How to use
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example with-absolute-imports with-absolute-imports-app
yarn create next-app --example with-absolute-imports with-absolute-imports-app
pnpm create next-app --example with-absolute-imports with-absolute-imports-app
Deploy it to the cloud with Vercel (Documentation).