Форматирование кода во Vue.js играет ключевую роль в поддержке
читаемости, масштабируемости и качества приложений. Vue.js использует
Single File Components (SFC), где каждая компонента
может содержать три основных блока: <template>,
<script> и <style>. Корректное
оформление каждого блока упрощает навигацию и снижает вероятность
ошибок.
<template>
<div class="app">
<h1>{{ title }}</h1>
<button @click="increment">Нажми меня</button>
<p>Счетчик: {{ count }}</p>
</div>
</template>
<script>
export default {
data() {
return {
title: 'Пример Vue.js',
count: 0
}
},
methods: {
increment() {
this.count++
}
}
}
</script>
<style scoped>
.app {
font-family: Arial, sans-serif;
padding: 20px;
}
button {
background-color: #42b983;
color: white;
border: none;
padding: 10px 15px;
cursor: pointer;
}
</style>
Ключевые моменты структуры:
<template> содержит только разметку и связывается
с реактивными данными через директивы Vue (v-if,
v-for, v-model, @click и
т.д.).<script> включает логику компонента: данные,
методы, вычисляемые свойства, наблюдатели (watchers) и жизненный
цикл.<style> отвечает за оформление компонента.
Атрибут scoped позволяет изолировать стили, чтобы они не
влияли на другие компоненты.v-if="isVisible".<div>. Для группировки элементов лучше применять
<template> или <Fragment> (Vue
3).this.Пример группировки методов:
methods: {
// Работа с пользовательским вводом
handleInput(event) {
this.value = event.target.value;
},
// Работа с состоянием компонента
toggleActive() {
this.isActive = !this.isActive;
}
}
block__element--modifier) повышает читаемость..button {
padding: 10px 15px;
border-radius: 4px;
}
.button--primary {
background-color: #42b983;
color: #fff;
}
Для поддержания единого стиля кода в проекте Vue.js рекомендуется настроить Prettier и ESLint:
<template>, <script> и
<style>.eslint-plugin-vue и
eslint-config-prettier.Пример конфигурации .eslintrc.js:
module.exports = {
root: true,
env: {
browser: true,
es2021: true
},
extends: [
'plugin:vue/vue3-recommended',
'eslint:recommended',
'prettier'
],
parserOptions: {
ecmaVersion: 12,
sourceType: 'module'
},
rules: {
'vue/html-indent': ['error', 2],
'vue/max-attributes-per-line': ['error', { singleline: 3 }],
'no-console': 'warn'
}
}
<template>,
<script> и <style>.Форматирование кода в Vue.js — не только эстетическая практика, но и ключевой элемент поддерживаемости, особенно в масштабных проектах. Оно облегчает совместную работу, отладку и последующую модификацию компонентов.