Шаг 1. Создание нового проекта

Vue-компоненты можно встраивать в уже готовые проекты. В этом демо мы создадим простой проект и подключим к нему Vue.

Создайте рабочую директорию:

mkdir my-project

Перейдите в неё:

cd my-project

Инициализируйте новый проект командой:

npm init

После ответов на вопросы в проекте появится файл package.json примерно с таким содержимым:

{
  "name": "my-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Шаг 2. Создание index.html

В корне проекта создайте файл index.html со следующим содержимым:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>Hello World</h1>
</body>
</html>

Шаг 3. Добавление сервера

Для запуска проекта можно воспользоваться локальным сервером. Установите пакет http-server:

npm install http-server

Добавьте команду start для запуска сервера в секцию scripts файла package.json:

{
  "name": "my-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "http-server ./ -f ./index.html"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "http-server": "^14.1.1"
  }
}

Запустите проект командой:

npm start

Шаг 4. Подключение Vue

Теперь подключим Vue к проекту через CDN. Добавьте в index.html в начало body следующий скрипт:

    <script type="importmap">
      {
        "imports": {
          "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
        }
      }
    </script>

После этого файл index.html будет выглядеть так:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="importmap">
      {
        "imports": {
          "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
        }
      }
    </script>
    <div>Hello World</div>
</body>
</html>

Шаг 5. Создание компонента Vue

Подробнее о создании и работе с компонентами мы расскажем позже.

Создайте первый Vue-компонент в файле component.js:

export default {
  data() {
    return { msg: 'Hello from vue' }
  },
  template: `<div>{{ msg }}</div>`
}

Шаг 6. Добавление компонента Vue в index.html

Подробнее о создании экземпляра Vue мы расскажем позже.

Для начала работы с Vue необходимо создать экземпляр приложения. Добавьте в index.html перед закрывающим тегом </body> следующий скрипт:

<script type="module">
  import { createApp } from 'vue'
  import MyComponent from './component.js'

  createApp(MyComponent).mount('#component')
</script>

Далее нужно указать элемент, к которому будет монтироваться компонент. Добавьте в index.html:

<div id="component"></div>

Итоговый файл index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="importmap">
      {
        "imports": {
          "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
        }
      }
    </script>

    <div id="component"></div>

    <script type="module">
      import { createApp } from 'vue'
      import MyComponent from './component.js'

      createApp(MyComponent).mount('#component')
    </script>
</body>
</html>

Запустите проект командой npm start и откройте результат в браузере по адресу http://localhost:8080/.