X Note GittHub Calendar Update x Facebook Pocket

Loading...

【React初心者入門】Vite + styled-componentsを使ったプロジェクト構築の手順

【React初心者入門】Vite + styled-componentsを使ったプロジェクト構築の手順

React + Viteを使ったプロジェクト構築手順、コーディング事前準備について解説します。今回は、CSS-in-JSライブラリのstyled-components、styled-componentsの構文をハイライトするvscode-styled-components、リセットCSSのstyled-resetを使用してみます。それではいってみましょう!

目次

    前提条件

    • Mac M1
    • VSCode
    • Node.js v20.9.0

    React + Vite でプロジェクト作成

    まずターミナルアプリを開いて、プロジェクトを作成したい場所へ移動します。現在は/Users/goにいるとして、その直下にある/Users/go/projectに移動する場合は以下のコマンドを打ってください。

    cd project

    移動したら、Viteプロジェクトの作成を始める為に、以下のコマンドを打ってください。

    npm create vite@latest

    「続行しますか?」と聞かれたらEnterを押します。(yはyesという意味)

    Ok to proceed? (y)

    任意のプロジェクト名を入力してEnterを押します。今回はvite-testと入力します。

    ? Project name: › vite-test

    下 or 上矢印キーで移動してReactを選択後、Enterを押します。

    ? Select a framework: › - Use arrow-keys. Return to submit.
    Vanilla
    Vue
    ❯ React
    Preact
    Lit
    Svelte
    Solid
    Qwik
    Others

    JavaScriptを選択してEnterを押します。
    ※SWCはより高速にビルドできますがファイル容量が重いです。

    ? Select a variant: › - Use arrow-keys. Return to submit.
    TypeScript
    TypeScript + SWC
    ❯ JavaScript
    JavaScript + SWC
    Remix ↗

    以下が表示されて、vite-testディレクトリが生成されていればOKです。次の実行すべきコマンドを教えてくれているので上から順に実行していきます。

    Done. Now run:

    cd vite-test
    npm install
    npm run dev

    vite-testディレクトリに移動します。

    cd vite-test

    移動したら、一旦このタイミングでVSCodeを開いてみましょう。(どのタイミングでも構いません)

    code .

    VSCodeを開いたら、node modulesディレクトリやpackage-lock.jsonを生成します。

    npm install

    // または
    npm i

    開発環境を立ち上げます。

    npm run dev

    ターミナルに以下が表示されたら、URLの部分をCommand + クリックします。ブラウザにReact + Viteの表示がされたら開発環境立ち上げ完了です。※止めるときは、Mac : Control + C

    ➜ Local: http://localhost:5173/
    ➜ Network: use --host to expose
    ➜ press h + enter to show help

    styled-componentsをインストール

    styled-componentsとは、JavaScript内にCSSを記述する記法CSS-in-JSのライブラリです。

    以下コマンドで、styled-componentsをインストールします。

    npm i styled-components

    vscode-styled-componentsをインストール

    vscode-styled-componentsとは、JavaScriptやTypeScriptファイル上でstyled-componentsを使用して記述したCSSにハイライトをつけるVSCode拡張機能です。

    VSCodeのサイドバーにある拡張機能の検索欄で「styled-components.vscode-styled-components」を検索してインストールして下さい。

    styled-resetをインストール

    styled-resetとは、styled-components用のリセットCSSです。全てのブラウザではユーザーエージェントのデフォルトスタイルが適用されているので、それを無効にしたりブラウザ間の差異を無くしたりする為に、リセットCSSを使うのが一般的です。

    以下コマンドで、styled-resetをインストールします。

    npm i styled-reset

    コーディング前の事前準備をする

    先ほどReact + Vite で作成したvite-testディレクトリ内にmain.jsxやApp.jsxが入っており、それぞれ雛形が記述されている状態なので、コーディング前の事前準備をします。リセットCSS含むグローバルなCSSは、GlobalStyles.jsxを作成して読み込みます。

    main.jsxを編集する

    main.jsxは、不要な記述を削除して以下のように書き換えます。StrictModeは、事前に1回空回しでコンポーネントを実行して、バグになるコードが混入してないかを確認する仕組みです。これは開発モードでのみ動き、本番ビルドでは動きません。

    import React from 'react';
    import ReactDOM from 'react-dom/client';
    import App from './App';
    
    ReactDOM.createRoot(document.getElementById('root')).render(
      <React.StrictMode>
        <App />
      </React.StrictMode>
    );

    App.jsxを編集する

    App.jsxは、先ほどインストールしたstyled-components、次項で作成するGlobalStyles.jsxを読み込む記述など、以下のように書き換えます。ブラウザに表示されたHello Worldの文字が赤色になっていたら、定数StyledH1に定義したCSSがちゃんと当たっているということになります。ちなみに、styledオブジェクト内に格納されたプロパティは、htmlタグに一致する数だけ用意されています。

    import styled from "styled-components";
    import GlobalStyles from "./GlobalStyles";
    
    const StyledH1 = styled.h1`
      color: red; // 確認用
      /* ここに追加したいCSSを記述する */
    `;
    
    function App() {
      return (
        <div>
          <GlobalStyles />
          <StyledH1>Hello World</StyledH1>
        </div>
        
      );
    }
    
    export default App;

    GlobalStyles.jsxを作成する

    GlobalStyles.jsxを新たに作成して、styled-componentsの機能であるcreateGlobalStyle(グローバルなCSSをReactで書けるAPI)と、先ほどインストールしたstyled-resetを読み込みます。

    GlobalStylesにはリセットCSSを定義した後に追加したいグローバルCSSを記述します。グローバルなCSSは記述量が少なければApp.jsxにまとめて書いてもいいかも知れません。

    import { createGlobalStyle } from "styled-components";
    import reset from 'styled-reset';
    
    const GlobalStyles = createGlobalStyle`
      ${reset}
      /* ここに追加したいグローバルCSSを記述する */
    `;
    
    export default GlobalStyles;

    プロジェクト作成&事前準備完了

    お疲れ様でした。これですぐにコーディングに取り掛かれる状態になっているはずです。CSS-in-JSライブラリやリセットCSSは他にも色々あるので好きなものを試してみてください。

    それでは創造の彼方へいってらっしゃい。

    目次