Vue 3: Vue.createApp не является конструктором

#vue.js #vuejs3

#vue.js #vuejs3 #vue-composition-api

Вопрос:

Я новичок в Vue и пытаюсь научиться его использовать.

Я думаю, что я запутался, пытаясь смонтировать новое приложение Vue.

Вот что я могу заставить работать:

 <script src="https://unpkg.com/vue"></script>
<script>
const vm = new Vue({})
</script>
 

оттуда я могу смонтировать его и использовать все правильно.

Однако в настоящее время загружается более старая версия Vue (2.6.7)

Я хотел бы изучить новейшую версию (Vue 3), поэтому я попытался импортировать пакет, рекомендованный Vue docs:

 <script src="https://unpkg.com/vue@next"></script>
<script>
const vm = new Vue({})
</script>
 

и я получаю следующую ошибку в консоли:

Неперехваченная ошибка типа: Vue не является конструктором

Я также попытался имитировать синтаксис из документов Vue 3.

 <script src="https://unpkg.com/vue@next"></script>
<script>
const vm = new Vue.createApp({})
</script>
 

но он выдает ту же ошибку:

Неперехваченная ошибка типа: Vue.createApp не является конструктором

Использование другого CDN или определенной версии (vue@3.0.2 ) также дает мне тот же результат.

Что я делаю не так?

Ответ №1:

createApp это не объект, это функция, которая возвращает экземпляр приложения vue, поэтому он должен быть :

  const vm = Vue.createApp({}) //remove the new
 

createApp
Возвращает экземпляр приложения, который предоставляет контекст приложения. Все дерево компонентов, смонтированное экземпляром приложения, использует один и тот же контекст
const app = Vue.createApp({})