![見出し画像](https://assets.st-note.com/production/uploads/images/59182544/rectangle_large_type_2_e4a1f21ce021fcc497400572e26f7e02.png?width=1200)
Next.jsを使ってホームページを自動生成。
Next.jsは、Vercelというホスティングサービスなどを展開する企業が開発している JavaScriptフレームワークです。
静的サイト・ジェネレーターってなんだろうということで解説してあるサイトがあるので貼りつけておきます。
今回はJapaScriptで作られているNext.jsを使ってみます。とっつきやすそうなので。
環境は構築が大変なのでPaizaCloudを使います。
簡単に環境構築できます。node.jsのサーバを作るとこも可能なので手間いらず。
node.jsを選んで新規サーバを作り、ターミナル操作で確認しながら作って行きます。まず確認作業から。
npx -v
6.13.6
と出てくるのでしっかりと入っています。なので
npx create-next-app
として実行します。プロジェクトの名前は"test"としました。これで最後まで処理が進みます。
"test"とフォルダができています。これだけではまだ完成ではありません。”build”という作業を行う必要があります。それには、testフォルダに移動しないといけません。
cd test
とコマンドを打ち込み実行します。これでtestフォルダに映ることができました。そして "build"します。
npm run build
これで少し待つと出来上がりです。では。ホームページを立ち上げてみましょう。
npm run start
これで"3000"というところを押すとホームページが立ち上がります。
このページをCtrl+Cで一旦終了します。そして次のコマンドを実行します。
npm run dev
こうすることで、開発モードになりリアルタイムで更新するようです。
/pages/index.jsのファイルを編集します。全部消して次のコードに書き換えます。
export default function Home() {
return (
<h1>Hello Taro</h1>
<h1>タグの部分が表示されているのが分かります。
スタイルも指定してみます。ここでは直接タグに入れる方法でやってみます。ファイルに以下を記述します。
export default function Home() {
return (
<>
<h1 style={{color: `red`}}>Hello Taro</h1>
<p>今日は晴れ</p>
</>
)
}
return
で指定できるのは一つのタグなので"<> </>"で囲んだところにタグを書いて行きます。<h1>にスタイルをつけてみます。
style={{color: `red`}}
のように記述します。すると、
"Hello Taro"が赤くなりました。
次に新しいページを作ります。作る場所は"/pages"の直下に新規フォルダを作り、"about"と名前をつけて、その中に"index.js"というファイルを作ります。その内容は
export default function About() {
return (
<>
<h1>About</h1>
</>
)
}
とします。そしてアドレスバーの最後のところを"3000/about"と書いてページを読み込んで表示できるようになりました。
あとはページを行き来できるようにリンクを貼ります。
aboutのページには以下。
import Link from 'next/link'
<Link href={`/about`}><button>トップへ</button></Link>
トップページの方には
import Link from 'next/link'
<Link href={`/`}><button>about</button></Link>
とすれば双方にボタンが現れ押すと遷移できるようになりました!