Проблемы с компонентами после сборки под управлением npm

#vue.js #webpack #vuetify.js #vue-cli

#vue.js #webpack #vuetify.js #vue-cli

Вопрос:

Используя плагин Vue-cli, я создал небольшое SPA-приложение с Vuetify component framework. Когда я работал в режиме разработки, все было нормально, но в производственном режиме возникла проблема с компонентами 'installComponents' has already been declared

Затем я узнал, что это было связано с опцией встряхивания дерева, которая работает только с webpack 4 в рабочем режиме. Или, если быть более точным, включая компоненты, которые вам нужны, вместо того, чтобы получать их все.

Итак, вместо регистрации каждого отдельного компонента я попытался использовать vuetify-loader для автоматизации «компонентов по меню«, но мне кажется, что я чего-то не хватает.

мой plugins/vuetify.js

 import Vue from 'vue'
import Vuetify from 'vuetify/lib'
import 'vuetify/src/stylus/app.styl'

Vue.use(Vuetify)
  

И мой vue.config.js похоже на это

 const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
module.exports = {
  configureWebpack: {
    plugins: [
      new VuetifyLoaderPlugin()
    ]
  }
}
  

И main.js похоже на это:

 import Vue from 'vue'
import './plugins/vuetify'
import App from './App.vue'
import router from './router'
import store from './store/store'
import axios from 'axios';

Vue.config.productionTip = false

//adding main path to baseurl
axios.defaults.baseURL = "";
// Global settings for Axios
Vue.prototype.$http = axios;


new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
  

И я все еще получаю эту ошибку

 Module parse failed: Identifier 'installComponents' has already been declared (35:7)
  

Стоит упомянуть, что мой babel.config.js выглядит так:

 module.exports = {
  presets: [
    '@vue/app'
  ]
}
  

Я использую vue 2.5.21 и vuetify 1.3.0

Обновить

Я изменил свой vue.config.js с этими строками

 module.exports = {
    publicPath: process.env.NODE_ENV === 'production'
        ? '/hr-map/'
        : '/vue-map/',
    chainWebpack: config => {
        config.module
            .rule('vue')
            .use('vue-loader')
            .loader('vue-loader')
            .tap(options => {
                // modify the options...
                return options
            })
    }
}
  

Но сейчас в процессе производства я получаю довольно странную ошибку для своих компонентов

 Uncaught TypeError: T(...)(...) is not a function
at Module.56d7 (VectorFeatures.vue:37)
at r (bootstrap:78)
at Object.0 (bootstrap:151)
at r (bootstrap:78)
at i (bootstrap:45)
at bootstrap:151
at bootstrap:151
  

введите описание изображения здесь

Я должен сказать, что когда я нахожусь в среде разработки, все работает нормально.