https://axios.nuxtjs.org/ 基本的な設定は上記URLの通り。 ## $axiosがvueファイル以外で認識しない [nuxt-tsのドキュメントに書かれたヒント]( https://typescript.nuxtjs.org/ja/cookbook/store/#%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%99%E3%83%BC%E3%82%B9)に従って設定する。 `utils/api.ts` ```ts import { NuxtAxiosInstance } from '@nuxtjs/axios' let $axios: NuxtAxiosInstance export function initializeAxios(axiosInstance: NuxtAxiosInstance) { $axios = axiosInstance } export { $axios } ``` `axios-accessor.ts` ```ts import { Plugin } from '@nuxt/types' import { initializeAxios } from '~/utils/api' const accessor: Plugin = ({ $axios }) => { initializeAxios($axios) } export default accessor ``` `nuxt.js` ```js plugins: [ { src: '~/plugins/axios-accessor.ts' }, ], ``` ## CORS問題 `nuxt.js`にproxy設定を追加することで[[CORS]]を回避する。 ```json axios: { proxy: true, }, proxy: { // http://localhost:3000/apiではじまるAPIは https://cross-origin-path/api.. へproxy '/api': { target: 'https://cross-origin-path', }, }, ```