zukucode
主にWEB関連の情報を技術メモとして発信しています。

Vue.js axiosをajaxライブラリとして導入する

Vuex mutationでstateの値を変更するVuexmutationを実装するまで行いました。

次はVuexactionについて説明したいところですが、そのためにはajaxのライブラリを導入していたほうが、わかりやすいとので、ajaxライブラリのaxiosの導入方法を紹介します。

Vue.jsではajaxまわりの処理は用意されておらず、外部のライブラリを各自で自由に用意するようになっています。

vue-resourceというライブラリが公式ライブラリとされていましたが、現在ではaxiosを使うように推奨されています。

私も最初はvue-resourceを使用していて、途中でaxiosに変更しましたが、ajax処理の記載方法はほとんど同じでしたので、コードの書き換えも少なくスムーズに移行できました。

パッケージのインストール

axiosのパッケージをインストールします。

$ npm install --save-dev axios

axiosの設定

axiosの設定用にhttp.jsというファイルを作成します。ファイル名は自由に変更しても問題ありません。

http.js
import axios from 'axios';
const http = axios;

export default (Vue) => {
  Vue.http = http;
  Object.defineProperties(Vue.prototype, {
    $http: {
      get () {
        return http;
      }
    }
  });
};

エントリポイントの修正

エントリポイントのapp.jshttp.jsImportします。Vue.use(http)httpをプラグインとして使用します。

これにより、Vue.httpaxiosのライブラリを使用するようになります。

webpack モジュールのパスを絶対パスで指定する方法で紹介した方法でImportは絶対パスで指定しています。

app.js
import 'less/app.less';
import Vue from 'vue';
import store from 'js/store';
import http from 'js/http';
import App from 'js/components/App.vue';

Vue.use(http);

new Vue({
  el: '#app',
  store,
  render: h => h(App)
});

これでaxiosの導入が完了しました。

動作確認はVuex actionの処理でaxiosでajaxを行うで行います。


続きを表示

関連記事

  • vueコンポーネントでvue-routerのページ制御を行う

    vueコンポーネントの処理でvue-routerのページ制御を行う方法を紹介します。vue-routerでページ遷移するときはrouter-linkのコンポーネントを使うことが多いですが、コンポーネン...


  • vueファイル(単一ファイルコンポーネント)をwebpackでビルド

    vueファイル(単一ファイルコンポーネント)をwebpackでビルドする手順を紹介します。バージョンは、Vue.jsは2.x、webpackは2.xです。わかりやすくするため、空のプロジェクトから出来...


  • Vue.js lessを使いwebpackでビルドする

    .vueファイル(単一ファイルコンポーネント)のstyleをcssではなくlessで実装して、webpackでビルドをします。vue-loaderのオプションにlessのloaderを追加します。


  • vue-routerを導入してSPAを作成する

    Vue.jsのプロジェクトにvue-routerを導入してシングルページアプリケーション(spa)を作成します。最初にvue-routerのパッケージをインストールします。router-linkはナビ...


  • vue-router webpackでページごとにファイルを分割する

    vue-routerでシングルアプリケーションを作成していると、ページ数が増えるにしたがって作成されるjsファイルのファイルサイズもどんどん増えていきます。ページごとにファイルを分割し、そのページがア...


  • Vue.js webpackでHot Module Replacementを行う

    開発を効率化するために、Hot Module Replacement(HMR)の設定を行います。Hot Module Replacementを設定しておけば、ブラウザの再読込は行わず、修正した箇所のみ...


  • Vue.jsを学習する上で知っておきたいES2015の文法

    Vue.jsは公式ドキュメントを始め、ネット上のほとんどのサンプルがES2015(ES6)の表記で実装されています。Vue.jsで頻繁に使用するであろうES2015の文法を紹介します。objectの中...


  • Vue.js 独自のfilterを実装する

    Vue.jsで独自のfilterを実装して、各コンポーネントで使用できるようにします。コンポーネント内で定義することもできますが、今回はグローバルファンクションとして作成して、全てのコンポーネントで使...


  • Vue.js lessで外部のlessファイルをImportする

    メインカラーなどの共通情報は外部のlessファイルに記載し、各vueファイルではそのlessファイルをImportして実装するのが効率的です。.vueファイル内のlessで外部のlessファイルをIm...