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

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

よく読まれている記事

エンジニア入門

2019/4/15

最も効率の良いプログラミング学習フロー

こんにちは、フリーエンジニアのてぃすです。 エンジニアの需要が拡大し、売り手市場となったことから、プログラミングを学習し始めた人、学習してみたいという人がかなり増えてきています。 これからの時代プログラミングを学習することは、豊かな人生を目指す上で非常に強力なスキルとなってきます。 今回はプログラミング初心者の方々に向けて、最も効率的なプログラミングの学習方法を解説していきます。 はじめに この学習フローでは、遊びのメカニズムを利用して進めていきます。 どういうことでしょうか。説明していきます。 遊ぶ感覚 ...

続きを読む

エンジニア独立

2019/4/28

ITエンジニアが給与上げるために出来ることは限られている

どうも、フリーランスエンジニアのてぃすです。 今ITエンジニアってかなり稼げる職種として知られてきていますが、中にはその影響を感じられていない人もいるんじゃないかと思います。 ぼくは2年の間に正社員、派遣、フリーランスと渡り歩いて、月収は20万→40万→80万->100万と変動してきました。 その中でITエンジニアとして収入を上げるために出来ることがなんなのかが少しずつ見えてきました。 今回はその経験から感じたITエンジニアが収入を上げるために出来ることについて分析・解説していきます。 会社の中で給 ...

続きを読む

エンジニア独立

2019/5/30

中小SESに入社するなら、派遣エンジニアになった方が100倍幸せになれるというお話

こんにちは。フリーランスエンジニアのてぃすです。 僕はこれまで、 中小SES正社員 派遣エンジニア フリーランスエンジニア として活動してきましたが、その中で中小SESで正社員として働いていたときが、最も得るものが少なかった期間であったと確信しております。 給与・自分の時間・キャリア・経験のどれを取っても得られるものが少なく、エンジニアとして働く中で第三者に搾取される割合が最も多い働き方です。 そこで今回は僕がこれまでキャリアを積む中で確信した中小SESに入社するなら、派遣エンジニアになった方が幸せになれ ...

続きを読む

エンジニア独立

2019/4/15

フリーランスエンジニアの適正価格をぶっちゃけてみる

どうも、フリーランスエンジニアのてぃすです。 先日以下のツイートをしました。 実務経験2年以上のエンジニアが都内でフリーランスをやる場合、週5で月60万未満の案件は切り捨ててOKです。正社員的に考えると高めに見えますが、業務委託としてやるには60万円しか出さない案件は最底辺であると考えましょう — てぃす@フリーランスエンジニア (@tis_engineer) March 29, 2019 すると結構な反響があったので、今日はこのツイートで語っているフリーランスをやる場合の単価の基準について、 ...

続きを読む

エンジニア独立

2019/4/15

【2019年版】現役フリーランスエンジニアがオススメするフリーランスエージェント4選

どうも、フリーランスエンジニアのてぃすです。 僕は正社員時代の月収は20万円を切るくらいだったのですが、独立したことで同じ労働時間で月100万円をキープできるようになりました。 現在はちょっと働く時間を減らして週3リモートで月70万円で働いていますが、このくらいのバランスもストレスが少なく、快適な日々を過ごすことができています。 そんな感じで独立から1年以上が経過し、わかったことがあります。 ITエンジニアは今の相場から考えれば、フリーランスになった方が圧倒的に得だなということです。 もちろん正社員ディス ...

続きを読む

-プログラミング
-,

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