Описание проекта Vue3

Проект Vue 3 состоит из множества файлов и папок, каждый из которых имеет своё конкретное назначение.

Ниже приведён базовый анализ кода проекта Vue 3, который поможет вам понять структуру проекта и назначение каждой части.

  • Проект Vue 3 состоит из множества файлов и папок, а основные файлы включаютindex.html、main.jsиApp.vue。

  • Компоненты Vue — это основные строительные блоки приложения, использующие однофайловые компоненты (.vueфайл) для определения.

  • Vue Router используется для управления маршрутизацией, а Vuex — для управления состоянием.


Структура проекта

Проект Vue 3 обычно содержит следующие файлы и папки:

my-vue-app/
├── node_modules/       # 项目依赖的第三方库
├── public/             # 静态资源文件夹
│   ├── index.html      # 应用的 HTML 模板
│   └── ...             # 其他静态资源(如图片、字体等)
├── src/                # 项目源代码
│   ├── assets/         # 静态资源(如图片、字体等)
│   ├── components/     # 可复用的 Vue 组件
│   ├── views/          # 页面级组件
│   ├── App.vue         # 根组件
│   ├── main.js         # 项目入口文件
│   ├── router.js       # 路由配置
│   ├── store.js        # Vuex 状态管理配置
│   └── ...             # 其他配置和资源
├── package.json        # 项目配置和依赖管理
├── package-lock.json   # 依赖的精确版本锁定文件
└── README.md           # 项目说明文档

Анализ основных файлов

public/index.html

public/index.htmlЭто файл HTML-шаблона приложения Vue.

Vue смонтирует приложение в<div id="app"></div>внутри.

Пример

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Приложение Vue</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

src/main.js

src/main.jsЭто входной файл приложения Vue.

src/main.jsОн отвечает за создание экземпляра приложения Vue и монтирование корневого компонента (обычно App.vue) в div#app в index.html.

Пример

import { createApp } from 'vue';
import App from './App.vue';

createApp(App).mount('#app');

src/App.vue

src/App.vueЭто корневой компонент приложения Vue.

src/App.vueОбычно он содержит основной макет и представления маршрутов приложения.

Пример

<template>
  <div id="app">
    <h1>Привет, Vue 3!</h1>
    <router-view></router-view> <!-- Представление маршрутизатора -->
  </div>
</template>

<script>
export default {
  name: 'App',
};
</script>

<style>
#app {
  text-align: center;
  margin-top: 50px;
}
</style>

src/components/

src/components/Папка содержит переиспользуемые компоненты Vue.

Пример: HelloWorld.vue

<template>
  <div>
    <h2>Hello, World!</h2>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
};
</script>

<style scoped>
h2 {
  color: blue;
}
</style>

src/views/

src/views/Папка содержит компоненты уровня страниц, обычно используемые вместе с конфигурацией маршрутизации.

Пример: Home.vue

<template>
  <div>
    <h2>Домашняя страница</h2>
  </div>
</template>

<script>
export default {
  name: 'Home',
};
</script>

src/router.js

src/router.jsЭто файл конфигурации Vue Router, используемый для определения маршрутов.

Пример

import { createRouter, createWebHistory } from 'vue-router';
import Home from './views/Home.vue';

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;

src/store.js

src/store.jsЭто файл конфигурации для управления состоянием Vuex (если используется Vuex).

Пример

import { createStore } from 'vuex';

export default createStore({
  state: {
    message: 'Hello, Vuex!',
  },
  mutations: {
    setMessage(state, newMessage) {
      state.message = newMessage;
    },
  },
  actions: {
    updateMessage({ commit }, newMessage) {
      commit('setMessage', newMessage);
    },
  },
});

package.json

package.jsonЭто файл конфигурации проекта, содержащий метаданные проекта, зависимости и скрипты.

Пример

{
  "name": "my-vue-app",
  "version": "1.0.0",
  "scripts": {
    "serve": "vue-cli-service serve", // Запуск сервера разработки
    "build": "vue-cli-service build", // Сборка production-кода
    "lint": "vue-cli-service lint"    // Форматирование кода
  },
  "dependencies": {
    "vue": "^3.2.0",
    "vue-router": "^4.0.0",
    "vuex": "^4.0.0"
  }
}

Базовая структура компонентов Vue

Компоненты Vue — это основные строительные блоки приложения Vue.

Обычно компонент содержит следующие части:

1. Однофайловые компоненты (файлы .vue)

A.vueфайл содержит три части:<template>、<script>и<style>。

Пример

<template>
  <div>
    <h2>{{ message }}</h2>
    <button @click="updateMessage">Обновить сообщение</button>
  </div>
</template>

<script>
export default {
  name: 'MyComponent',
  data() {
    return {
      message: 'Привет, Vue!',
    };
  },
  methods: {
    updateMessage() {
this.message = 'Сообщение обновлено!';
    },
  },
};
</script>

<style scoped>
h2 {
  color: green;
}
</style>

2. Шаблон (<template>)

  • Определяет пользовательский интерфейс компонента с использованием HTML и синтаксиса шаблонов Vue.

  • Поддерживает интерполяцию ({{ }}), директивы (такие какv-if、v-for) и привязку событий (такие как@click)。

3. Скрипт (<script>)

  • Определяет логику компонента, включая данные, методы, хуки жизненного цикла и т. д.

  • Используйтеexport defaultдля экспорта параметров компонента.

4. Стиль (<style>)

  • Определяет стили компонента.

  • Использованиеscopedатрибут может ограничить стили текущим компонентом.


Процесс выполнения проекта Vue

  1. Запустите сервер разработки:

    • Запуститеnpm run serveилиyarn serveчтобы запустить сервер разработки.

    • Откройте браузер и перейдите наhttp://localhost:8080чтобы просмотреть приложение.

  2. Сборка production-кода:

    • Запуститеnpm run buildилиyarn buildчтобы сгенерировать оптимизированный production-код.

  3. Форматирование кода:

    • Запуститеnpm run lintилиyarn lintчтобы отформатировать код.

Другие расширения