sanyuan0704 / vite-plugin-chunk-split

A vite plugin for better chunk splitting. 一个简单易用的 Vite 拆包插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

打出来的vendor包会把当前模块没有引入的node_modules下的项目也打进去

goccult opened this issue · comments

当前项目是一个多入口的项目

     rollupOptions: {
        input: {
          main: resolve(__dirname, 'src/index.html'),
          fastUpload: resolve(__dirname, 'src/fastUpload/index.html'),
          dataReport: resolve(__dirname, 'src/dataReport/index.html'),
          download: resolve(__dirname, 'src/download/index.html'),
        },
      },

采用的配置

      chunkSplitPlugin({
        strategy: 'default',
        customSplitting: {
          // `react` and `react-dom` 会被打包到一个名为`render-vendor`的 chunk 里面(包括它们的一些依赖,如 object-assign)
          'react-vendor': ['react', 'react-dom'],
          'lodash-vendor': ['lodash'],
        }
      })

其中node_modules里的 echarts只被dataReport模块依赖,但是也会被打进vendor包里,在index页面加载时也会被加载进去。
image

如果只用rullupOptions配置是可以做到echarts只被dataReport模块引入的,但是会没有了vendor包

        output: {
          // manualChunks 配置
          manualChunks: {
            'react-vendor': ['react', 'react-dom'],
            'lodash-vendor': ['lodash'],
          },
        },

image

期待的效果是vendor包中只存在当前模块有依赖的项目。

我也遇到了这个问题

请问已经解决了么?求个方案,谢谢