TIS ENGINEER NOTE

ITエンジニアのためのキャリア向上ノウハウブログ

プログラミング

Nuxt.jsで使える便利な設定・書き方をまとめていく

更新日:

存在感と注目度を高めているWebフレームワークであるNuxt.js。

今日はそんなNuxt.jsの開発をスムーズに行うための設定について、紹介していきます。

開発環境の構築は以下の記事で紹介していますので、Nuxt.jsに興味を持っているが、まだ触ったことのない方はこちらの記事を先にご覧になってください。

次世代のWebフレームワークであるNuxt.jsを使ってみる

開発における便利テクニック

ポートの変更

Nuxt.jsの開発環境は基本的にポート3000を使用します。この3000はRuby on Railsなどでも使われている人気のポジションなので、変えておきたいという人も少なくないでしょう。

開発環境におけるポートを変えたい場合は、package.jsonに設定を加えるだけで可能です。

{
    "name": "nuxt-sample",
    "scripts": {
        "dev": "PORT=3333 nuxt"
    },
    "dependencies": {
        "nuxt": "^1.4.1"
    }
}

いじったところはすでに記述してあるscript.devのnuxtの前にPORT=3333を加えた部分です。これだけでyarn(npm) run devを行った時にlocalhost:3000でアクセスできるようになります。

APIリクエストの準備

フロントエンド開発を行っているとほぼ実装することとなるAPIサーバーへのリクエスト処理。大体はaxiosなどのライブラリを使用する箇所で読み込んで使いますが、Nuxt.jsではaxiosのモジュールが用意されているので、そちらを利用することオススメします。こちらを利用することで各種設定や、ヘルパーの設定を柔軟かつシンプルに記載することが可能です。

モジュールのインストールとNuxtのコンフィグファイルに設定を追加するだけで可能です。nuxt.config.jsはスタートテンプレートを使った場合は最初から作成されていますが、フルスクラッチの場合でまだ存在しない場合はプロジェクトディレクトリのトップに作成してから編集して保存しましょう。

yarn add @nuxtjs/axios
module.exports = {
  // 省略
  modules: ['@nuxtjs/axios'],
  axios: {
    // リクエスト先のURLを固定したい場合は以下を設定
    baseURL: 'http://localhost:8888'
  },
  // 省略
};

あとはリクエストするときは以下のように記述することで、効率よくAPI周りの処理を行えるようになります。他にもリクエスト/レスポンスにさいの共通して行いたい処理なども簡単に実装できますので特に強いこだわりがなければNuxtモジュールのaxiosを使用すると開発がスムーズになることでしょう。

GET
this.$axios
      .$get(`user/post`)
      .then(response => {
        // リクエスト成功時の処理
      })
      .catch(error => {
        // リクエスト失敗時の処理
      });
POST
this.$axios
      .$post('usert/post', { title, comment })
      .then(response => {
        // リクエスト成功時の処理
      })
      .catch(error => {
        // リクエスト失敗時の処理
      });
共通処理など
export default function({ store, $axios, redirect }) {
  // リクエスト時にトークンを付与する
  $axios.onRequest(config => {
    if (store.state.user.token) {
      config.headers.common['Authorization'] =
        'Bearer ' + store.state.user.token;
    }
  });

  // 認証エラー時の処理
  $axios.onError(error => {
    if (error.response.status === 401) {
      redirect('/signin');
    }
  });
}

公式ドキュメントでは詳しい設定や使用例を参照することができます。

スタイルシートにsassを使う

vueファイルの中でスタイルを記述する時にcssではなくsassを使いたいということも多いでしょう。そんな時もほとんど手間なく実装可能です。

yarn add -D node-sass sass-loader

上記コマンドを実行すれば、vueファイルにおいて、以下のような記載が可能となります。

<template>
  <h1>Hello world!</h1>
</template>

<style lang="sass">
  h1
    color: red
</style>
<template>
  <h1>Hello world!</h1>
</template>

<style lang="scss">
  h1 {
    color: red;
  }
</style>

fontawesomeを使う

Webフォントとして最も有名どころであり、使いやすさ・種類の豊富さに定評のあるfontawesomeですが、こちらもNuxtで簡単につかうことができます。Nuxtのモジュールにfontawesomeは用意されていますが、そちらが現在バージョン5に対応していないため、通常通りパッケージをインストールする形で導入します。

yarn add @fortawesome/fontawesome-free-webfonts

nuxt.config.jsに以下を記述します。

module.exports = {
    // 省略
    css: [
        '@fortawesome/fontawesome-free-webfonts',
        '@fortawesome/fontawesome-free-webfonts/css/fa-brands.css',
        '@fortawesome/fontawesome-free-webfonts/css/fa-regular.css',
        '@fortawesome/fontawesome-free-webfonts/css/fa-solid.css',
    ],
    // 省略
};

あとはソースコード内で以下のようにアイコンを配置することが可能です。

<template>
  <div>
    <h1>Hello world!</h1>
    <i class="fas fa-check-circle"/>
  </div>
</template>

Normalize.cssを使う

スタイルシートの初期状態をいい感じに調整してくれるNormalize.cssもちょっとした手順で導入することが可能です。

yarn add normalize.css

あとはnuxt.config.jsに以下のように設定を加えることでNormalize.cssの導入が完了します。

module.exports = {
  // 省略
  css: [
    'normalize.css'
  ]
  // 省略
}

まとめ

いかがだったでしょうか。開発を行う前に押さえておきたい設定、プラグインの導入をメインに紹介しました。

この記事で開発の土台はできたかとも思いますので、早速Nuxt.jsでのフロント開発を楽しんでいきましょう。

閲覧いただき、ありがとうございました。

よく読まれている記事

エンジニア独立

2018/2/18

Webサービス・Webアプリケーションを作って公開するまでの流れ

エンジニアとして活動していくに際して、自分で作成し公開している制作物があるというのは非常に強力なアピールポイントとなります。 もちろんクオリティが高いに越したことはありませんが、自分で作成し公開までを行なったというだけでもかなりの評価を得られます。 これからエンジニアになりたい エンジニアとしてのキャリアアップ・キャリアチェンジを望んでいる という人には大変オススメのプロセスです。 実際僕もRailsを未経験の状態から勉強していた際の仕上げとして作成&公開したWebアプリケーションのおかげであっさ ...

続きを読む

エンジニア独立

2019/4/15

ITエンジニアが市場価値を知りたければエージェントを活用すべき

どうも、フリーランスエンジニアのてぃすです。 企業に雇われないフリーランスという働き方。 ITエンジニアという自分の技術を商売道具とする職業は、フリーランスとの相性が抜群だったりします。 僕自身文系かつエンジニア歴2年半で独立しましたが、1年目から年収1000万を軽く超えることができました。 独立してこれまでで学んだことは、ITエンジニアがフリーランスとなり効率よく稼ぐには市場価値の把握がもっとも重要であるということです。 市場価値という超重要な要素 ITエンジニアという職業はいくら高い技術を持っていても ...

続きを読む

エンジニア独立

2019/4/23

エンジニア派遣でキャリアを積んで高収入を目指す

エンジニアとして採用面談を受けたことのある人なら分かると思うのですが、面談の時に最も重要視されるポイントは業務経験です。 もちろん普段の個人学習や、技術への関心などでフォローできる面もありますが、一番見られるのはどんな技術を使って、どんな業務を行ってきたかという点なんですよね。 採用する側もプロダクトの正否を左右する立場として責任を負っているわけですから当然です。 そんな時、良質な職務経験をどのように積むことができるか、というのがポイントになってきます。 今回はキャリア構築のための、派遣エンジニアという選 ...

続きを読む

エンジニア独立

2019/4/15

正社員エンジニアがフリーランスになるのは全く難しくないという事実

どうも、フリーランスエンジニアのてぃすです。 最近ではフリーランスエンジニアというのも珍しいものではなくなってきましたが、まだ誤解されている部分があります。 「フリーランスエンジニアになるのって大変なんでしょ?」 という誤解です。 エンジニアがフリーランスになるのに、 卓越した技術やセンス 業界内の幅広いコネ 仕事を取るための営業力 などは一切必要ありません。 今回はそのあたりの誤解を解消していきたいと思います。 フリーランス = ハイスキル ではない 世の中多くのエンジニアが誤解していることなんですが、 ...

続きを読む

エンジニア入門

2018/8/19

プログラミング初心者にRubyを強くオススメする理由

こんにちは、フリーエンジニアのてぃすです。 プログラミングを始めようと思った時にまず立ちはだかるのが、 どのプログラミング言語を選択するか という問題です。 Googleで『プログラミング おすすめ』や『プログラミング 初心者』などと調べてみても、 オススメプログラミング言語○選といった類の記事やサイトばかりで 結局何を勉強すればいいの? となってしまっていることでしょう。 そこで今回は、現在プログラマーとして働いている私から、これからプログラムを勉強したいという方に向け、国産プログラミング言語であるRu ...

続きを読む

-プログラミング
-,

Copyright© TIS ENGINEER NOTE , 2019 All Rights Reserved Powered by AFFINGER5.