\n\n\n```\n\nПреимущества SFC:\n- **Инкапсуляция**: логика, шаблон и стили находятся вместе\n- **Scoped CSS**: стили автоматически изолированы от других компонентов\n- **Оптимизация**: компилятор Vue оптимизирует и минифицирует код\n- **Удобство**: не нужно писать шаблоны в строках или отдельных файлах\n\n### Composition API vs Options API\n\nВ файле .vue можно использовать два подхода организации логики:\n\n**Options API** (классический подход):\n\n```javascript\nexport default {\n data() {\n return {\n count: 0,\n };\n },\n computed: {\n doubleCount() {\n return this.count * 2;\n },\n },\n methods: {\n increment() {\n this.count++;\n },\n },\n};\n```\n\n**Composition API** (современный подход, рекомендуется):\n\n```javascript\nimport { ref, computed } from \"vue\";\n\nexport default {\n setup() {\n const count = ref(0);\n const doubleCount = computed(() => count.value * 2);\n\n const increment = () => {\n count.value++;\n };\n\n return { count, doubleCount, increment };\n },\n};\n```\n\nДополнительно в Vue 3 есть синтаксис `\n```\n\n### Server-Side Rendering (SSR) и Hydration\n\nДля приложений с SSR Vue может использовать серверное отображение:\n\n```javascript\nimport { createSSRApp } from \"vue\";\nimport App from \"./App.vue\";\n\nconst app = createSSRApp(App);\n```\n\n### JSX / TSX формат\n\nНекоторые проекты используют JSX вместо шаблонов Vue:\n\n```typescript\nconst Counter = () => {\n const count = ref(0);\n return () => (\n
\n

{count.value}

\n \n
\n );\n};\n```\n\n### Выбор формата на работе\n\nВыбор формата зависит от:\n- **Размера команды**: большие команды часто используют SFC для удобства\n- **Legacy кода**: старые проекты могут использовать Options API\n- **Требования к производительности**: JSX может быть оптимальнее для сложных компонентов\n- **Инструментарий**: modern setup обычно требует SFC + Composition API\n\n**Best practices для современного проекта:**\n- Использовать SFC с `
← Назад к вопросам

В каком формате используется Vue на нынешней работе

1.0 Junior🔥 31 комментариев
#Vue.js

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Форматы использования Vue на работе

Vue предоставляет несколько форматов разработки в зависимости от подхода и требований проекта. Рассмотрим основные форматы, которые используются в современной разработке.

Single File Components (SFC)

Single File Components — это основной и рекомендуемый формат для Vue 3. В одном .vue файле размещаются шаблон, скрипт и стили.

<template>
  <div class="component">
    <h1>{{ message }}</h1>
    <button @click="increment">Увеличить: {{ count }}</button>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";

const message = ref("Привет, Vue!");
const count = ref(0);

const increment = () => {
  count.value++;
};
</script>

<style scoped>
.component {
  padding: 20px;
  border: 1px solid #ccc;
}
</style>

Преимущества SFC:

  • Инкапсуляция: логика, шаблон и стили находятся вместе
  • Scoped CSS: стили автоматически изолированы от других компонентов
  • Оптимизация: компилятор Vue оптимизирует и минифицирует код
  • Удобство: не нужно писать шаблоны в строках или отдельных файлах

Composition API vs Options API

В файле .vue можно использовать два подхода организации логики:

Options API (классический подход):

export default {
  data() {
    return {
      count: 0,
    };
  },
  computed: {
    doubleCount() {
      return this.count * 2;
    },
  },
  methods: {
    increment() {
      this.count++;
    },
  },
};

Composition API (современный подход, рекомендуется):

import { ref, computed } from "vue";

export default {
  setup() {
    const count = ref(0);
    const doubleCount = computed(() => count.value * 2);

    const increment = () => {
      count.value++;
    };

    return { count, doubleCount, increment };
  },
};

Дополнительно в Vue 3 есть синтаксис <script setup>, который упрощает Composition API:

<script setup>
const count = ref(0);
const doubleCount = computed(() => count.value * 2);
</script>

Server-Side Rendering (SSR) и Hydration

Для приложений с SSR Vue может использовать серверное отображение:

import { createSSRApp } from "vue";
import App from "./App.vue";

const app = createSSRApp(App);

JSX / TSX формат

Некоторые проекты используют JSX вместо шаблонов Vue:

const Counter = () => {
  const count = ref(0);
  return () => (
    <div>
      <h1>{count.value}</h1>
      <button onClick={() => count.value++}>Увеличить</button>
    </div>
  );
};

Выбор формата на работе

Выбор формата зависит от:

  • Размера команды: большие команды часто используют SFC для удобства
  • Legacy кода: старые проекты могут использовать Options API
  • Требования к производительности: JSX может быть оптимальнее для сложных компонентов
  • Инструментарий: modern setup обычно требует SFC + Composition API

Best practices для современного проекта:

  • Использовать SFC с <script setup>
  • Применять Composition API для переиспользуемой логики
  • Типизировать с TypeScript
  • Организовать файлы по features, не по типам

На большинстве современных работ используется именно эта комбинация: Vue 3 + SFC + Composition API + TypeScript.

В каком формате используется Vue на нынешней работе | PrepBro