Vuetify files structure
Sat May 10 2025
395 Words · 3 Minutes

Vuetify files structure


Here’s the explanation of the file structure generated by pnpm create vuetify (updated version) and the roles of each file/directory:


MARKDOWN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.
├── public/                  # Static assets (copied directly to build output)
│   └── favicon.ico          # Website favicon

├── src/                     # Core source code directory
│   ├── assets/              # Static assets (processed by bundler)
│   │   └── vuetify.svg      # Vuetify default logo
│   │
│   ├── components/          # Reusable Vue components
│   │   └── HelloWorld.vue   # Example component
│   │
│   ├── layouts/             # Page layout components
│   │   └── Default.vue      # Default layout (with navbar/footer)
│   │
│   ├── plugins/             # Vue/Vuetify plugin configurations
│   │   └── vuetify.js       # Vuetify theme/component configuration entry
│   │
│   ├── pages/               # VUE components here are automatically converted into navigable routes (pages)
│   │   └── index.vue        # Homepage
│   │
│   ├── router/              # Routing configuration
│   │   └── index.ts         # Auto-routing setup
│   │
│   ├── stores/              # Pinia state management
│   │   ├── app.ts           # App-specific store module
│   │   └── index.ts         # Pinia store initialization
│   │
│   ├── styles/              # Vuetify style overrides
│   │   └── settings.scss    # Custom theme/scss variables
│   │
│   ├── App.vue              # Vue root component
│   ├── main.js              # Application entry (initializes Vue instance)
│   └── routes.js            # Legacy routing config (if manually configured)

├── .gitignore               # Git ignore rules
├── index.html               # HTML entry point
├── package.json             # Project dependencies and scripts
├── pnpm-lock.yaml           # Dependency lockfile (pnpm-specific)
├── README.md                # Project documentation
├── vite.config.js           # Vite build tool configuration
└── .eslintrc.cjs            # ESLint code style rules (if enabled)

Key File Descriptions Link to Key File Descriptions

  1. vite.config.js

    • Core Vite configuration: integrates Vuetify plugins, dev server settings, etc.
  2. src/plugins/vuetify.js

    • Vuetify initialization: imports components/styles, defines themes/icons.
  3. src/layouts/Default.vue

    • Global layout template with navigation components like <v-app-bar>.
  4. src/pages/*.vue

    • Page components that auto-generate routes (via file-based routing).
  5. src/router/index.ts

    • Auto-routing configuration (if using file-based routing system).
  6. src/stores/*.ts

    • Pinia state management modules and initialization.
  7. src/styles/settings.scss

    • Custom SCSS variables to override Vuetify’s default styles.

Optional Features (Based on Setup Choices) Link to Optional Features (Based on Setup Choices)

  • tests/
    • Unit test directory (if testing framework is selected).
  • tsconfig.json
    • TypeScript configuration (if using TypeScript template).

This updated structure reflects modern Vuetify practices with auto-routing, Pinia state management, and SCSS customization capabilities, enabling rapid development of scalable applications.

Vuetify files structure

Sat May 10 2025
395 Words · 3 Minutes

© Jack Wenyoung Blog Site | CC BY-SA 4.0