0

我正在尝试以创建 3 个文件的方式配置 webpack。

app.js - 我的所有代码都被捆绑在一起 chunk-vendors.js - 来自 node_modules 的代码被捆绑在一起,有一个例外 vuelayers.js - 用于地图,占用太多空间,并且因为它在单个组件中使用,理想情况下,它将与其他所有内容分开加载。

我正在尝试通过外部实现这一点,但我不确定这是正确的方法,因为我仍然想加载本地版本的 VueLayers,而不是通过 CDN。我看到一些代码示例在挂载事件上动态创建脚本标签,但我希望从 node_modules 加载这些脚本

我也尝试过这样配置webpack,但是当然不行,因为我没有足够的经验。

module.exports = {

configureWebpack: {

    output: {

        filename: 'app.js',

    },

    externals:{

        moment: 'moment',

        'vuelayers': require('vuelayers/lib/index.umd')

    },
}
4

1 回答 1

0

类似(未经测试):

module.exports = {
    //...
    optimization: {
        splitChunks: {
            cacheGroups: {
                chunkVendors: {
                    name: 'chunk-vendors',
                    chunks: 'all',
                    test(module, chunks) {
                        // `module.resource` contains the absolute path of the file on disk.
                        return module.resource.includes('node_modules') && !module.resource.includes('vuelayers');
                    }
                    priority: -10
                },
            }
        }
    }
}
于 2020-07-08T13:17:44.903 回答