`
// import '@babel/polyfill'
import Vue from "vue";
import './plugins/vuetify';
import App from "./App.vue";
import router from "./router";
import store from "./store";
import wysiwyg from "vue-wysiwyg";
import Header from "./components/elements/Header.vue";
import Sidemenu from "./components/elements/Sidemenu.vue";
import FullCalendar from "vue-full-calendar";
import "fullcalendar-scheduler";
import "fullcalendar/dist/fullcalendar.min.css";
import "fullcalendar-scheduler/dist/scheduler.min.css";
import VueGoogleCharts from "vue-google-charts";
import CKEditor from "@ckeditor/ckeditor5-vue";
// import slugify from "slugify";
// import db from "./firebase/init";
import firebase from "firebase";
require("firebase/firestore");
import VueZoomer from 'vue-zoomer'
import 'vue-zoomer/dist/vue-zoomer.css'
// Helpers
// import Moment from "moment";
// import { extendMoment } from "moment-range";
import { Tabs, Tab } from "vue-tabs-component";
import VueSweetalert2 from "vue-sweetalert2";
import VueLodash from "vue-lodash";
import VueMoment from "vue-moment";
export const bus = new Vue();
const options = { name: "_" }; // customize the way you want to call it
Vue.use(VueLodash, options); // options is optional
Vue.use(VueMoment);
Vue.use(VueZoomer)
Vue.use(CKEditor);
firebaseWEBPACK_IMPORTED_MODULE19default.a.auth is not a function)
I went into this error after i updated my vuetify version in my project.
My new files are:
vuetify.js
` import Vue from 'vue' import Vuetify from 'vuetify/lib'
Vue.use(Vuetify, { iconfont: 'md', theme: {} }) ` firebase:
`import firebase from "firebase"; import firestore from "firebase/firestore";
// Initialize Firebase var config = {...};
const firebaseApp = firebase.initializeApp(config); firebaseApp.firestore().settings({}); export default firebaseApp.firestore(); `
main.js:
` // import '@babel/polyfill' import Vue from "vue"; import './plugins/vuetify'; import App from "./App.vue"; import router from "./router"; import store from "./store"; import wysiwyg from "vue-wysiwyg"; import Header from "./components/elements/Header.vue"; import Sidemenu from "./components/elements/Sidemenu.vue"; import FullCalendar from "vue-full-calendar"; import "fullcalendar-scheduler"; import "fullcalendar/dist/fullcalendar.min.css"; import "fullcalendar-scheduler/dist/scheduler.min.css"; import VueGoogleCharts from "vue-google-charts"; import CKEditor from "@ckeditor/ckeditor5-vue";
// import slugify from "slugify"; // import db from "./firebase/init"; import firebase from "firebase"; require("firebase/firestore");
import VueZoomer from 'vue-zoomer' import 'vue-zoomer/dist/vue-zoomer.css'
// Helpers // import Moment from "moment"; // import { extendMoment } from "moment-range"; import { Tabs, Tab } from "vue-tabs-component"; import VueSweetalert2 from "vue-sweetalert2"; import VueLodash from "vue-lodash"; import VueMoment from "vue-moment";
export const bus = new Vue();
const options = { name: "_" }; // customize the way you want to call it Vue.use(VueLodash, options); // options is optional Vue.use(VueMoment); Vue.use(VueZoomer) Vue.use(CKEditor);
Vue.use(VueGoogleCharts);
// Vue.use(VueAxios, axios) Vue.config.productionTip = false; Vue.use(FullCalendar); Vue.use(VueSweetalert2);
Vue.component("page-header", Header); Vue.component("side-menu", Sidemenu);
// Vue Tabs Vue.component("tabs", Tabs); Vue.component("tab", Tab);
// WYSIWSG Editor Vue.use(wysiwyg, { hideModules: { image: true, table: true, headings: true, code: true, orderedList: true, unorderedList: true, removeFormat: true, separator: true }, maxHeight: "100px" });
router.beforeEach((to, from, next) => { const nearestWithTitle = to.matched .slice() .reverse() .find(r => r.meta && r.meta.title); if (nearestWithTitle) document.title = nearestWithTitle.meta.title;
if (to.path == "/bookwidget") { console.log("Bookwidget"); next(); } else if (to.path == "/register") { next(); } else { firebase.auth().onAuthStateChanged(user => { if (user) { store.dispatch("tryAutoLogin", user).then(() => { if (to.path == "/login") { next("/home"); } else { next(); } }); } else { console.log("Firestore token niet aanwezig"); if (to.path == "/login") { next(); } else { next("/login"); } } }); } });
Vue.config.productionTip = false;
new Vue({ router, store, render: h => h(App) }).$mount("#app"); `
Vue.config
` const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); const isProd = process.env.NODE_ENV === "production";
module.exports = { runtimeCompiler: true, configureWebpack: { optimization: { minimizer: isProd ? [ new UglifyJsPlugin({ uglifyOptions: { compress: { drop_console: true } } }) ] : [] }, devtool: "cheap-module-eval-source-map", resolve: { alias: require("./aliases.config").webpack } }, css: { // Enable CSS source maps. sourceMap: true }, }; `
webpack.config.dev.js
"use strict"; const { VueLoaderPlugin } = require("vue-loader"); module.exports = { mode: "development", entry: ["./src/main.js"], module: { rules: [ { test: /\.vue$/, use: "vue-loader" } ] }, plugins: [new VueLoaderPlugin()] };