Как настроить файл main.js для Vue 3 с дополнительным импортом?
Привет, я пытаюсь сделать версию файла main.js vue 3, которая работает в vue 2
vue 2
import Vue from "vue";
import App from "./App.vue";
import store from "./store";
import Amplify, * as AmplifyModules from "aws-amplify";
import { AmplifyPlugin } from "aws-amplify-vue";
import awsmobile from "./aws-exports";
Amplify.configure(awsmobile);
Vue.use(AmplifyPlugin, AmplifyModules);
Vue.config.productionTip = false;
new Vue({
store,
render: h => h(App)
}).$mount("#app");
vue 3 лучшее предположение
import { createApp } from 'vue';
import App from './App.vue'
import Amplify, * as AmplifyModules from 'aws-amplify'
import { AmplifyPlugin } from 'aws-amplify-vue'
import awsconfig from './aws-exports'
const app = createApp(App)
Amplify.configure(awsconfig)
app.use(AmplifyPlugin, AmplifyModules)
app.mount('#app')
Работает без лишнего импорта, затем просто показывает белый экран, когда я их добавляю
1 ответ
Я считаю, что причина в том, что структура плагина изменилась в vue3
Я подозреваю, если вы закомментируете эту строку: app.use(AmplifyPlugin, AmplifyModules)
это будет работать (без плагина)
Не похоже, что плагин разделяет репо, поэтому сложно понять его работу.
Здесь есть статья, в которой немного говорится о различиях (ищите provide / inject)
https://medium.com/better-programming/designing-vue3-plugins-using-provide-and-inject-47b586d9ce4
Возможно, вам придется откатить собственный плагин для vue3 или продолжить использовать vue2.