0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自分なりのVite x React環境構築テンプレート

Last updated at Posted at 2024-11-17

概要

  • Reactで開発するときに、簡単に環境構築できるように流れも含めてまとめる

導入コマンド

# Reactのインストール
npm create vite@latest

# tsconfigのエラー解消用
npm install -D @types/node
npm install vite-plugin-dts

# tailwindcssを使う場合
npm install -D tailwindcss postcss autoprefixer
npm install tailwind-merge  # クラス名の結合用
npm install class-variance-authority  # バリアントの管理用
npx tailwindcss init -p

tailwindcssの反映

index.css
@tailwind base;
@tailwind components;
@tailwind utilities;

こちらを追記する。場合によっては既存のcssはすべて破棄するとよい。

エイリアスを設定する

エイリアスを設定すると、ファイルを移動してもある種絶対パスで指定することができるので多少変更が楽になる。
さらに細かくプレフィックスを作成しておくと、大きな変更がある場合に楽になるので、components配下などで大別する場合などは設定するとよい。

vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import { resolve } from 'path';
import dts from 'vite-plugin-dts';

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    react(),
    dts({
      insertTypesEntry: true,// 型定義ファイルの生成
    }),
  ],
  resolve: {
    alias: {
      '@': resolve(__dirname, './src'),
    },
  },
});

tsconfig.app.jsonのエラーの解決とviteのエラーの解決

tsconfig.app.json
{
  "compilerOptions": {
    "incremental": true, /* ファイル差分でコンパイルするようになる */
    /* "composite": true,  ものレポの場合はこっちをつける */
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
    "target": "ES2020",
    "useDefineForClassFields": true,
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "skipLibCheck": true,

    /* Bundler mode */
    "moduleResolution": "Bundler",
    "allowImportingTsExtensions": true,
    "isolatedModules": true,
    "moduleDetection": "force",
    "noEmit": true,
    "jsx": "react-jsx",

    /* Linting */
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true,
    /* 自動生成されるものの、エラーが出るので削除する。(拡張機能で対応しているし、、)
       import時にそのライブラリが本当に存在するか探してくれるもの */
    /*"noUncheckedSideEffectImports": true,*/

    /* vite.config.ts のエラー解決 */
    "types": ["node"],
    "baseUrl": "./", /* エイリアスを設定する */
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "include": ["src"]
}

tsconfig.node.json

エラー内容はほぼ同じなので省略する。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?