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でのフロント開発を楽しんでいきましょう。

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

よく読まれている記事

office

エンジニア独立

2019/5/29

エンジニア歴2年の僕がレバテックフリーランスでフリーランスを目指してみた

正社員エンジニアからフリーランスエンジニアへの方向転換の一環として、業界最大手であるレバテックフリーランスの個人面談に出向いてきたので、その感想を書いていこうと思います。 フリーランスというと知識・経験・人脈を兼ね備えたスーパーエンジニアしかなれない存在だと思っている人も少なくありません。 しかし最近では今回紹介するレバテックフリーランスや以前の記事で紹介したギークスジョブなどといったエージェントを利用すれば、僕のように経験の浅いエンジニアでも十分に目指せる働き方となっています。 この記事が現在働いている ...

続きを読む

エンジニア独立

2019/4/15

プログラマーがフリーランスになって独立するために必要なスキル

こんにちは、フリーエンジニアのてぃすです。 ITエンジニアが独立するべきか、しないべきか。昨今のエンジニア・プログラマーの働き方議論において、最もホットなのがこの話題じゃないでしょうか。 賛否については、それぞれの立場や環境によって感情論も混ざって言い分は異なりますし、経験したこともない人の否定意見も飛び交って魑魅魍魎が跳梁跋扈な感じです。 なので今回はそういった賛否ではなく、実際にプログラマーをはじめとするITエンジニアが独立するためにはどの程度のスキル・経歴が必要かについてお話していこうと思います。 ...

続きを読む

エンジニア独立

2019/4/29

技術を選んで働くエンジニアになるために

どうも、フリーランスエンジニアのてぃすです。 ITエンジニアと一言で言っても扱っている技術によって働き方は様々です。 また働き方に加えて、将来的なキャリアの展望も使う技術によって大きく変わってきます。 ぼくはエンジニアとして扱う技術を変化させていき、現在は週3でリモート中心でマイペースに働きながらゆとりを持って暮らせるくらいは稼げる程度にまで持っていけました。 そこで今回はITエンジニアが使う技術を選ぶことの大切さと、実際に選ぶためのテクニックについてご紹介していきます。 技術を選ぶ事による効能 まずは使 ...

続きを読む

エンジニア独立

2019/4/15

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

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

続きを読む

エンジニア独立

2019/4/15

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

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

続きを読む

-プログラミング
-,

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