Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #1 環境構築


# はじめに

この記事は、全18回で連載した[Rails 6で認証認可入り掲示板APIを構築する](https://qiita.com/rf_p/items/a846553c11571f4177eb)のフロントエンド側を構築する記事連載となります。

前提として、Rails編で構築したバックエンドAPIが必要になるのでご注意ください。
（そのため、実質#19です）

# 目次

全６回、毎日更新です。

* **Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #1 環境構築**
* [Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #2 NuxtとRailsとの疎通テスト](https://qiita.com/rf_p/items/34cc453c7c232e07a1d7)
* [Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #3 個別記事ページの作成](https://qiita.com/rf_p/items/fc7f0490a62b1f98f487)
* [Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #4 サインアップページの作成](https://qiita.com/rf_p/items/c1162fc121d6a4ef53e6)
* [Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #5 ログイン・ログアウトの実装](https://qiita.com/rf_p/items/b714298e1f9effa32cad)
* [Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #6 記事投稿フォームの作成](https://qiita.com/rf_p/items/496a5eb49289a90633e2)

# 環境構築

Rails編と同じ環境に構築します。
単純に環境もう1つ作るのが面倒なだけです:sweat_smile:

# yarnの導入

まずはyarnを入れます。

```powershell
$ curl -o- -L https://yarnpkg.com/install.sh | bash
```

一度ターミナルウィンドウを閉じて再度開けば、yarnコマンドが使えるようになっているはずです。

```powershell
$ yarn -v
1.22.5
```

# create nuxt-appを実行

```powershell
$ cd ~/environment/
$ yarn create nuxt-app bbs_nuxt_app
```

UI Frameworkで`Vuetify.js`を選び、modulesでAxios, LintでEsLintを選択(Spaceで選択します)。それ以外はデフォルトのままいきます。

```powershell
$ cd bbs_nuxt_app/
$ yarn dev
ℹ NuxtJS collects completely anonymous data about usage.                                 04:44:17
  This will help us improving Nuxt developer experience over the time.
  Read more on https://git.io/nuxt-telemetry

? Are you interested in participation? (Y/n)
```

匿名データ送信をするか聞かれるので、ご自身で選択してください。

実行するとサーバが立ち上がりますが、8080ポートが恐らくrailsで埋まっているので適当なポートが振られます。
ですがcloud9で適当なポートは弾かれるので、ブラウザでポート指定して開いても見れないはずです。

[Cloud9の公式ドキュメント](https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/app-preview.html#app-preview-run-app)によれば使えるポートは8080, 8081, 8082のようなので、8081を指定します。

```diff:nuxt.config.js
 export default {
...
   build: {
-  }
+  },
+  server: {
+    port: 8081,
+  }
 }
```

```powershell
$ yarn dev
```

これで、8081ポートで立ち上がるはず！
Previewを押してPop Out Into New Windowアイコンを押すと別タブで開くので、URLの末尾にポート番号指定でNuxtのWelcomeページが出ます。
`...cloud9.ap-northeast-1.amazonaws.com:8081`←URL末尾こんな感じ

![nuxt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199678/cc1031e8-548c-1ef3-9112-d83cd9f8b79d.png)

# eslintを動かす

せっかくeslintを入れたので動かしてみます。

```powershell
$ yarn run lint
/home/ec2-user/environment/bbs_nuxt_app/nuxt.config.js
  69:15  error  Unexpected trailing comma  comma-dangle

✖ 1 problem (1 error, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
```

どうやら今さっき追加したnuxt.config.jsのところで、最後の要素にカンマがあることで怒られています。
--fixオプションを付けると自動修正してくれます。

```diff:nuxt.config.js
 export default {
...
   build: {
   },
   server: {
-    port: 8081,
+    port: 8081
   }
 }
```

# githubにpushする

フロントエンドとバックエンドは密結合となってしまうのを避けるため、同一リポジトリではなく分離した方が良いです。
というわけでフロントエンド用の新しいリポジトリを作ります。

![repository.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199678/2aab8c05-99f0-3842-a625-006605131269.png)

あとはgit pushすればOK。
公開鍵の設定やらなんやらは、[Rails#2](https://qiita.com/rf_p/items/5ef018bec4ed2f16fc0e)で書いた方法で対応してください。

```powershell
$ git add -A
$ git ci -m 'init'
$ git remote add origin https://github.com/{YOUR_ACCOUNT}/{YOUR_REPOSITORY}.git
$ git branch -M master
$ git push -u origin master
```

# 続き

→[Nuxt.jsで認証認可入り掲示板APIのフロントエンド部分を構築する #2 NuxtとRailsとの疎通テスト](https://qiita.com/rf_p/items/34cc453c7c232e07a1d7)
【[連載目次へ](https://qiita.com/rf_p/items/0277ae96c5de433b4849#%E7%9B%AE%E6%AC%A1)】