0

我无法弄清楚为什么 vuetify treeshaking 无法在我的应用程序上运行,因为我遵循了此处描述的每个步骤。我错过了什么吗?

我没有使用 vue CLI,而是使用带有 vuetify 加载器的 webpack 5。

这是来自 Webpack 捆绑分析器插件的交互式树形图可视化

我在用着 :

"vue": "^2.6.14",
"vuetify": "^2.5.10",
"vuetify-loader": "^1.7.3",
"webpack": "^5.61.0",

这是我的代码。

插件/vuetify/index.js

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

const opts = {/*...*/};
Vue.use(Vuetify);

export default new Vuetify(opts);

main.js

import Vue from 'vue';
import VueRouter from 'vue-router';
import router from './plugins/router';
import store from './plugins/store';
import vuetify from './plugins/vuetify';
import 'regenerator-runtime/runtime.js';
Vue.use(VueRouter);
new Vue({
    el: '#app',
    router,
    store,
    vuetify,
    render (createElement) {
        return createElement('router-view');
    }
});

webpack.common.js(开发和生产的通用配置)

const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin');

module.exports = {
  plugins: [
    new VuetifyLoaderPlugin({
      match(originalTag,{ kebabTag, camelTag, path, component}) {
        if (kebabTag.startsWith('app-')) {
          return [camelTag, `import ${camelTag} from '@/components/global/${kebabTag.substring(4)}.vue'`];
        }
      }
    })
  ]
}
4

1 回答 1

0

我可能已经找到负责这个的 webpack 配置。但我不知道为什么它会这样做。任何想法 ?

在 webpack.prod.js 中:

optimization: {
    splitChunks: { // Extract script from vendors in a separate file
        cacheGroups: {
            default: false,
            vendor: {
                test: /[\\/]node_modules[\\/]/,
                name: 'vendor',
                chunks: 'all',
            }
        }
    },
},
于 2022-01-14T14:01:48.667 回答