9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webフロントエンド初心者はNext.jsからはじめよう

Last updated at Posted at 2019-12-28

前提

  • プログラミングに関する(変数とか条件、関数などの)知識があること
    - html, css, javascript, reactあたりに興味がある
  • MacのPC持ってる(なかったら買ってください

なぜNext.jsなの?

よくわからないけど始められるし、よくわからないけどデプロイできるし、知ろうとすれば多くを知れるからというのが早い話です。(説明はかなり省略してます。冗談ぬきで。)

この記事を読むとどうなれる?

初心者でもWebフロントエンドのことが少しわかるのとNext.jsでこれ以上ないくらいシンプルなホームページが出せて数年後すごい人になれます(たぶん

前準備

何も触ったことない人向けだと手順はこんな感じです。

  • グローバルにインストールするもの
    • homebrew =便利なやつ
    • nodenv =node.jsのバージョン管理するやつ
    • yarn =作るもの管理するやつ
  • ローカルにインストールするもの
    • next react react-dom =Next.js用
  • ページつくる
  • 実行する
  • 感想文書いてコメント欄に投稿する

グローバルにインストールするもの

homebrew

まずは Command + space とかでMacのSpotlight検索を出してください。こういうの。

スクリーンショット 2019-12-28 22.00.15.png

terminal って入力したらいつものやつが出てきます。

スクリーンショット 2019-12-28 22.00.32.png

スクリーンショット 2019-12-28 22.25.37.png

ここまできたら、homebrewのインストール手順にしたがってインストールしてください。
右のをコピペするだけ(20191228時点)。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew --version みたいな brew コマンドが使えればOKです。僕は which xxx とか xxx --version を使うことが多い。

下の画像みたいなのになったらコマンドがインストールされていないかパスが通ってないです。「パス」はあとで説明します。

スクリーンショット 2019-12-28 22.31.30.png

nodenv

Node.jsっていうjavascript実行してくれるやつがいるんですが、いろんなバージョンがあります。バージョンによってひねくれた性格のやつがいます。なのでどのバージョンを使って開発するか明確にした方がいいです。明確にしておかないと後悔します。理由はそのうちわかるかもしれません。

nodenvのインストール方法はこれです。まずはさっきインストールした brew コマンドを使って brew install nodenv とすろと nodenv コマンドが使えるようになります。

ただし、 node npm npx あたりの本来使いたいコマンドが使えません。理由はパスが通ってないからです。

パスについて

パスが通ってないというのは、Terminalさんが例えば「nodeどこにいるのかわからない」って言ってる、っていうことです

Terminalさんは PATH っていうグローバル変数に入ってるディレクトリを探す習性があります。

echo $PATH ってやるとTerminalがどこを探して「nodeない」って言ってるのかがわかります。

ちなみに nodenv~/.nodenv っていうディレクトリにインストールされてます。なんでそれがわかるのか? ログを見ればわかります ちなみにエンジニアになりたてのころは ログはみましたか? と何度も煽られました。煽られ続けたおかげで成長できた気がする。さて本題に戻ろう。

~/.nodenv/shims ディレクトリに node コマンドやら npm npx あたりがいると思うので、Terminalに ~/.nodenv/shims ディレクトリも探してもらわないといけません。

ということで、Terminalがbashだったら ~/.bashrc zshだったら ~/.zshrc とかっていうファイルに PATH="$HOME/.nodenv/shims:$PATH" を追加しましょう。 $HOME っていうのは ~ と同じです。たぶんどっちでもいいです。 先生どうやって追加したらいいかわかりません とりあえず脳死して echo 'PATH="$HOME/.nodenv/shims:$PATH"' >> ~/.bashrc を実行するといいと思います。

時間がある人は vi ~/.bashrc とかやってみましょう。最初はどうやって入力するのかわからないと思います。そのあと人によってはカーソル動かす方法がわからないかもしれません。次にどうやって入力を終わるのかわからないかもしれません。最後にどうやって保存するのか、終了するのかがわからないと思います。考えても答えは出ないので絶対すぐに調べてください。

.bashrc とか .zshrc はTerminal開くたびに実行されるスクリプトです。でも今回は新しい行を追加したばっかりなのでまだTerminalに反映されてません。

反映するためにはTerminalを再起動するか、もしくはそのまま source ~/.bashrc とかをやりましょう。読み込むファイルとかは適宜読み替えてください。知ってる人は ~/.bash_profile とか ~/.zprofile とか使ってるかもしれませんし。

知らなくても大丈夫なんで何それ?っていう人は忘れても大丈夫です。知らなくて困ることはたぶんないでしょう。最悪のケースでも軽く煽られる程度で済みます(たぶん

node.jsのインストール

それでは nodenv install --list と打ってみてください。

スクリーンショット 2019-12-28 23.10.01.png

これはnodenvでインストールできるnodeのバージョンの一覧です。とりあえず頭が偶数のやつ選ぶといいです。 12.13.1 とかにしますか。その場合、 nodenv install 12.13.1 を実行しましょう。終わったら nodenv global 12.13.1 も実行します。それぞれ特定のバージョンのインストールと、基本的に使うバージョンの指定をしてます。

node --version とやったときに、下みたいになってればOKです。

スクリーンショット 2019-12-28 23.13.07.png

こうなっていないあなた。もしかすると、すでにnodeをインストールしたことがある&&僕の書いた文章を読まずにPATHを設定して間違えたというレアケースの可能性がありますよ。PATHの設定確認してみてください。

yarn

yarn は、今回作ろうとしているやつのマネージャーみたいなやつです。監督みたいなやつ。具体的にはライブラリをバージョン指定でインストールしたりインストールしたライブラリを使ってうまいこといろいろやってくれたりします。最初はそれくらいの認識でいいです。

インストール方法はここに書いてありますが、これもnodenvのように brew install yarn --ignore-dependencies とすればいいです。この手順では nvm のようなもの(nodenv)を使っているので --ignore-dependencies を付けていますが、たぶんなくても大丈夫です。

終わったら yarn --version などで動作確認しましょう。

ローカルにインストールするもの

まず グローバル ローカル というのを説明すると、今から作ろうとしているプロジェクト内のみで使うものが ローカル で、それより外の範囲を グローバル と考えてください。上の手順では、Mac全体を通して使うことが多いものをインストールしました。

今回はNext.jsを使ってページを作ります。

Next.js, Reactのインストール

まずは mkdir hello-next でディレクトリを作って、 cd hello-next で作ったディレクトリに移動します。

次に yarn init -y で、プロジェクトを初期化します。 ls コマンドを実行すると、 package.json というのが作成されていることがわかります。

それでは、実際にライブラリをインストールします。Next.jsのインストールはここを参考にすればよいのですが、今回は npm の代わりに yarn を使うので、 yarn add next react react-dom を実行します。そうすると、 package.jsondependencies という項目が追加され、 yarn.lock ファイルと node_modules ディレクトリが作成されます。

何が起こったかというと、今回使うライブラリ next react react-dom の3つのライブラリと、それらが依存しているライブラリが node_modules というディレクトリの下にインストールされ、その全てのバージョンが yarn.lock というファイルに記録されます。

あとは、Next.jsを起動するためのコマンドを package.json に追加します。Visual Studio Codeなどのエディタを使って、 package.json を開き、次のような設定を追加します。

  "scripts": {
    "dev": "next"
  }

これを追加することで、 yarn devnext を実行することができるようになります。これで、Next.jsを使えるようになりました。

ページをつくる

mkdir pages コマンドで pages ディレクトリを作り、 index.jsx というファイルを作りましょう。これが、ページに何を表示するかを書き込むファイルになります。

index.jsx ファイルの中は、まずは次のようにします。

export default () => <h1>Hello Next.js!</h1>

実行する

そして、 yarn dev コマンドを実行します。

http://localhost:3000 というURLにアクセスすると、上で作ったページが表示されます。

あとがき

実はこの記事を書いた後に、プログラミングの勉強したいという人に教えてみたんですが、やっぱりわからないことだらけのようです。

理由は簡単で、こんな分量が少ない記事なのに、知らない単語(覚えること)が超大量にあります。

  • Terminalって何?
    • コマンドって何?
    • ls cd mkdir rm vi less cat which って何?
    • 引数って何?
  • nodeって何?
    • javascriptって何?
  • そもそもhtmlって何?
  • ...

みたいなところから始まり、かなり様々な疑問が湧いてくると思います。

ただ、個人的に一番大事だと思っていることがあります。僕も元々は何もわからない初心者だったので、今となっては何がわからなかったかがわかるんですが、最初は何がわからないかすらわからない状態です。質問したくても何を質問していいかわからない。

だから、初心者こそ一度全体を眺めることができるようになることは非常に大事です。Next.jsは開発用にサーバーを立ち上げることができるし、そこにアクセスして作った画面を表示することができる、いわばほぼ開発の全体を眺めることができるライブラリです。なので初心者にもってこいだと思いました。

なので、ひととおり上の作業を終えたら、少し遊んでみることも大事ですが、どこがわからなかったのか、わからない単語や概念について必ず調べるように心がけてください。どこでつまづいたのかがわかれば、人に質問することができます。そうすると、成長が早くなると思います。

この記事も完璧というわけではないので、もしよければ、どんな方でも思ったことがあれば感想を書いていただいて大丈夫です。

読んでいただいてありがとうございました!

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?