-
Create a new Vite project with React:
npm create vite@latest . -- --template react -
Install Tailwind CSS and its dependencies:
npm i -D tailwindcss@3 autoprefixer postcss npx tailwindcss init -p
-
Set up
index.csswith Tailwind directives:@tailwind base; @tailwind components; @tailwind utilities;
-
Configure
tailwind.config.js:/** @type {import('tailwindcss').Config} */ export default { content: ['./index.html', './src/**/*.{js,jsx}'], theme: { extend: {}, }, plugins: [], };
-
Set up
jsconfig.jsonfor path aliasing:{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] } } } -
Initialize shadcn:
npx shadcn@latest init
-
Install
@types/nodefor TypeScript support:npm install --save-dev @types/node
-
Configure
vite.config.jsfor path aliasing:import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import path from 'path'; export default defineConfig({ plugins: [react()], resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, });
- Vite + React project setup.
- Tailwind CSS configuration.
- Path aliasing with
jsconfig.jsonandvite.config.js. - shadcn initialization for UI components.
- TypeScript support with
@types/node.
You’re now ready to use shadcn components in your project!