Recibo este error cuando intento importar un archivo usando un alias personalizado:
import api from 'api' api in ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/exercises.vue?vue&type=script&lang=js&Este es mi nuxt.config.js:
import { resolve } from 'path' const _api = process.env.API_MOCK === '1' ? 'apimock': 'api' export default { buildModules: [ '@nuxtjs/vuetify', '@nuxtjs/router' ], alias: { 'api': resolve(__dirname, './helpers/' + _api) }, }Mi estructura de archivos se ve así:
. ├── components │ ├── drawer.vue │ ├── popup-criar-treino.vue │ ├── popup-treino.vue │ └── toolbar.vue ├── helpers │ ├── api │ │ └── urls.js │ └── apimock │ ├── db_mock │ │ └── db_mock.js │ ├── mockadapter.js │ └── urls.js ├── jsconfig.json ├── layouts │ └── default.vue ├── nuxt.config.js ├── package.json ├── package-lock.json ├── pages │ ├── exercises.vue │ ├── index.vue │ ├── plans.vue │ └── treinos.vue └── router.jsNo entiendo lo que me falta aquí, estoy siguiendo el ejemplo en los documentos de Nuxt: https://nuxtjs.org/docs/configuration-glossary/configuration-alias/
Debe inyectar axios en el archivo api.js
export default function ({ $axios, app }, inject) { const api = $axios.create({ headers: { common: { Accept: 'application/json', Authorization } } }); inject('api', api) } Luego agregue api a los complementos, luego puede llamarlo como alias en cualquier lugar de la aplicación
plugins: [ { src: '~/plugins/api.js' }, ]esto.$api.get/post...
Con su directorio, también puede inyectar a NuxtApp como sugiero arriba;