Home » vue » getting error when trying to upgrade to vuetify 2.0

getting error when trying to upgrade to vuetify 2.0

Posted by: admin November 26, 2021 Leave a comment

Questions:

Ok so I am trying for the second time to migrate thus far it has been a complete failure it seems that vuetify is not detected, unfortunately I cannot share my full repo since it is work related, but will describe steps and share relevant code.
Project was created with vue-cli 3.3.0 with a vue.config.js file for environment variables.
1) npm uninstall vuetify
2)vue add vuetify
3)npm run serve
my site does not load and I get this error (adding code):

//vue.config.js
module.exports = {
    chainWebpack: (config) => {
        config.plugin('define')
            .tap(([options, ...args]) => {

                let env = options['process.env'].VUE_APP_ENV.replace(/"/g,'');
                let envMdl = require('./build/' + env.toString() + '.js');

                // replace all current by VUE concrente ones to be passed to the app
                const processEnv = Object.assign({}, options['process.env'])
                Object.keys(envMdl).forEach(function (k) {
                    processEnv['VUE_APP_' + k] = envMdl[k];
                });

                const ret = Object.assign({}, options, {'process.env': processEnv});

                return [
                    ret,
                    ...args
                ]
            })
    }
}

//vuetify.js

import Vue from 'vue'
import Vuetify from 'vuetify/lib'

Vue.use(Vuetify)

export default new Vuetify({
  icons: {
    iconfont: 'mdiSvg',
  },
})

//main.js

import vuetify from './plugins/vuetify'
...
new Vue({
                vuetify,
                router,
                store,
                i18n,
                render: h => h(App),
...

Error message (and screenshot): Uncaught TypeError: _lib.default is not a constructor
at eval (vuetify.js?402c:6)

error message

Answers:

The main problem is that Vuetify v1 works under the Stylus preprocessor, and in v2 it works under the SASS preprocessor, and I personally do not recommend migrating to v2 if it is too advanced and even worse if it has custom Vuetify components.