Описание проекта 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>внутри.
Пример
<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 App from './App.vue';
createApp(App).mount('#app');
src/App.vue
src/App.vueЭто корневой компонент приложения Vue.
src/App.vueОбычно он содержит основной макет и представления маршрутов приложения.
Пример
<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
<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
<div>
<h2>Домашняя страница</h2>
</div>
</template>
<script>
export default {
name: 'Home',
};
</script>
src/router.js
src/router.jsЭто файл конфигурации 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).
Пример
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>。
Пример
<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
-
Запустите сервер разработки:
-
Запустите
npm run serveилиyarn serveчтобы запустить сервер разработки. -
Откройте браузер и перейдите на
http://localhost:8080чтобы просмотреть приложение.
-
-
Сборка production-кода:
-
Запустите
npm run buildилиyarn buildчтобы сгенерировать оптимизированный production-код.
-
-
Форматирование кода:
-
Запустите
npm run lintилиyarn lintчтобы отформатировать код.
-