The alias property
Nuxt allows you to use aliases to access custom directories within your JavaScript and CSS
-
Type:
Object
-
Default:
{ '~~': `<rootDir>`, '@@': `<rootDir>`, '~': `<srcDir>`, '@': `<srcDir>`, 'assets': `<srcDir>/assets`, // (unless you have set a custom `dir.assets`) 'static': `<srcDir>/static`, // (unless you have set a custom `dir.static`) }
This option lets you define aliases to directories within your project (in addition to the ones above). These aliases can be used within your JavaScript and CSS.
nuxt.config.js
import { resolve } from 'path'
export default {
alias: {
'images': resolve(__dirname, './assets/images'),
'style': resolve(__dirname, './assets/style'),
'data': resolve(__dirname, './assets/other/data')
}
}
components/example.vue
<template>
<img src="~images/main-bg.jpg">
</template>
<script>
import data from 'data/test.json'
// etc.
</script>
<style>
@import '~style/variables.scss';
@import '~style/utils.scss';
@import '~style/base.scss';
body {
background-image: url('~images/main-bg.jpg');
}
</style>
Within a Webpack context (image sources, CSS - but not JavaScript) you must prefix your alias with
~
(as in the example above).If you are using TypeScript and want to use the alias you define within your TypeScript files, you will need to add the aliases to your
paths
object within tsconfig.json
.
Edit this page on GitHub
Updated at Mon, Aug 19, 2024
Sébastien Chopin
Nazaré da Piedade
Nobu
川音리오
Maciek Palmowski
Nestor Vera
Daniel Roe
Yue Yang
Jeronimas
Clément Ollivier
Alexander Lichter
N3-rd
Adrien Zaganelli
Mag
Stefan Huber
Olga Bulat
Paiva
Florian Reuschel
Savas Vedova
HIJACK
Vinícius Alves
Kareem Dabbeet
Valentín Costa
Ryan Skinner
Alex Hirzel
Ajeet Chaulagain
René Eschke
Nico Devs
Muhammad
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Bobby
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian Lefebvre
Lucas Recoaro
Julien SEIXAS