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/5/29

転職したいエンジニアの背中を押す記事

知人であったり、SNS上で知り合いのエンジニアの中には、今の職場に不満を感じ、転職したいという思いを募らせている人が結構な割合います。 僕からしたら絶賛売り手市場であるエンジニア業界において、劣悪な労働環境に耐えるという選択は非常に勿体無いことだと考えています。 確かにIT業界における技術者というのは、非常に需要のある立場ですが、慎重に働く場所を選ばなければ搾取される可能性が高いです。 技術という武器を持っているエンジニアならば、ストレスなく効率よく働くべき場所を求めて行動を起こすべきだと思うんですよね。 ...

続きを読む

エンジニア独立

2019/4/20

【時給2000円以上】経験者が語る派遣エンジニアの魅力

どうも、フリーランスエンジニアのてぃすです。 巷で語られているITエンジニアの働き方といえば、正社員 or フリーランス、というのが主流として語られています。 しかしITエンジニアにとって美味しい働き方がもう1つ存在しています。 それが今回紹介する派遣エンジニアです。 ぼくもフリーランスエンジニアとして独立する前の準備期間に派遣エンジニアを活用しました。 今日はその派遣エンジニアという働き方の魅力と活用方法について紹介していきます。 派遣エンジニアとは 今回紹介する派遣エンジニアという働き方を一言で表すと ...

続きを読む

エンジニア独立

2019/4/29

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

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

続きを読む

エンジニア入門 エンジニア独立 働き方

2019/4/15

高収入を目指してエンジニア・プログラマーになることは正しい選択か

こんにちは、フリーエンジニアのてぃすです。 今日お話する内容は、 高収入を目指してITエンジニア・プログラマーになることは正しい選択か というもの。 SNSやブログ、またはプログラミングスクールの謳い文句として「エンジニアになって年収○万を目指そう」などと行った言葉を見ることが最近増えてきました。 またそれに対して、「お金のためにエンジニアになることは間違っている」「実際はそんな稼げない」と行ったような意見も同様に飛び交っています。 僕の個人的な意見としては、高収入な職業につける資格や経験、環境にないので ...

続きを読む

エンジニア独立

2019/4/15

文系出身エンジニアが26才でフリーランスになった感想

こんにちは。フリーランスエンジニアのてぃすです。 フリーランスエンジニアということは、つまりエンジニアとして独立しているということになり、すごい敷居が高い印象を持っている人が多いです。 けど僕は文系大学出身かつ、プログラミングも社会人になって一年弱ほど経ってから初めて経験しました。 そんな経験の浅い僕が滞りなくフリーランスエンジニアとして活動して、報酬についてもある程度満足のいく額を得ることができています。 最近はフリーランスという働き方が脚光を浴びてきて、気にはなっている。けどなかなか踏み出す勇気が出な ...

続きを読む

-プログラミング
-,

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