😺

【Next.js】Next.js & Contentful BlogApp 【3Next.js & tailwind】

2022/11/19に公開

【3Next.js & tailwind】

YouTube: https://youtu.be/BiIqzIw29BU

https://youtu.be/BiIqzIw29BU

今回はデスクトップに「myblog-app」というフォルダを作成して、
「Next.js」と「tailwind css」の初期設定を行います。

https://nextjs.org/docs/getting-started

Next.jsインストールコマンド

npx create-next-app@latest

もしくは

npm create next-app

Next.jsのインストールができましたら、
次はtailwind cssの初期設定を行います。

こちらはNext.js用のインストールガイドになります。

https://tailwindcss.com/docs/guides/nextjs

tailwind cssのインストールコマンド
npm install -D tailwindcss postcss autoprefixer

tailwind.config.jsの作成コマンド
npx tailwindcss init -p

各ライブラリのバージョン

package.json
  "dependencies": {
    "next": "13.0.4",
    "react": "18.2.0",
    "react-dom": "18.2.0"
  },
  "devDependencies": {
    "autoprefixer": "^10.4.13",
    "eslint": "8.28.0",
    "eslint-config-next": "13.0.4",
    "postcss": "^8.4.19",
    "tailwindcss": "^3.2.4"
  }

今回手を加えたファイルは以下になります。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./pages/**/*.{js,ts,jsx,tsx}",
    "./components/**/*.{js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}
styles/global.css
@tailwind base;
@tailwind components;
@tailwind utilities;
pages/index.js
import Head from 'next/head'
import Image from 'next/image'
import styles from '../styles/Home.module.css'

export default function Home() {
  return (
    <div className={styles.container}>
      <Head>
        <title>Create Next App</title>
        <meta name="description" content="Generated by create next app" />
        <link rel="icon" href="/favicon.ico" />
      </Head>

      <main className={styles.main}>
        <h1 className={styles.title}>
          Welcome to <a href="https://nextjs.org">Next.js!</a>
        </h1>
      </main>

      <footer className={styles.footer}>
        <a
          href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
          target="_blank"
          rel="noopener noreferrer"
        >
          Powered by{' '}
          <span className={styles.logo}>
            <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
          </span>
        </a>
      </footer>
    </div>
  )
}

Discussion