Que signifie le symbole @ en javascript?

Par exemple:

import Component from '@/components/component' 

Dans le code, je le regarde comme un ../ en montant un niveau dans le répertoire par rapport au chemin du fichier, mais j'aimerais savoir plus généralement ce qu'il fait. Malheureusement, je ne trouve aucune documentation en ligne en raison du problème de recherche de symbole.

La signification et la structure de l'identifiant du module dépendent du chargeur de module ou du module . Le chargeur de module ne fait pas partie de la spécification ECMAScript. Du point de vue du langage JavaScript, l'identifiant du module est complètement opaque. Donc, cela dépend vraiment du module loader / bundler que vous utilisez.

Vous avez très probablement quelque chose comme babel-plugin-root-import dans votre configuration webpack / babel.

Fondamentalement, cela signifie à partir de la racine du projet … il évite d'avoir à écrire des choses comme import Component from '../../../../components/component'

Edit: l' une des raisons pour laquelle il existe est que l' import Component from 'components/component' ne import Component from 'components/component' fait pas, mais plutôt la recherche dans le dossier node_modules

Je sais que c'est vieux, mais je ne savais pas exactement comment il était défini, alors je l'ai regardé, est venu, j'ai creusé plus profondément et je l'ai trouvé dans ma configuration de configuration Web Vue-CLI

 resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': path.join(__dirname, '..', dir) } }, 

C'est donc un alias qui, dans ce cas, indique la racine de vue-cli généré le répertoire src du projet