webpack学习第二天-代码分离

代码分离:当项目太大时,为了首次加载得速度,我们可能会需要模块得按需加载和分模块闲时加载,此时就需要代码分离。
代码分离得方式:
  1. 多入口打包:使用entry配置手动分离(缺点:不同入口使用重复得模块会被分别打包)
    因为多入口打包会有公用代码重复打包得问题,所以需要配合Entry dependencies 或者 SplitChunksPlugin提取公共模块,该配置会让打包后生成一个公共部分模块,示例如下:
entry: {
        index: {
            import: './src/index.js',
            dependOn: ['shared', 'test']
        },
        print: {
            import: './src/print.js',
            dependOn: ['shared', 'test']
        },
        shared: './src/style.css',
        test: './src/shared.js'
    },

(上图为Entry dependencies示例) index、print作为两个入口文件,配置共同得dependOn: shared和test,shared和test分别指向公用得style.css和shared.js 文件,然后运行打包命令可以看到会多两个js文件,就是shared和 test 文件,该文件作为公用模块被提取了出来,

entry: {
        index: './src/index.js',
        print: './src/print.js'
    },
optimization: {
        splitChunks:{
            chunks: 'all'
        }
    },

SplitChunksPlugin有和Entry dependencies同样得效果。

  1. 动态导入,通过使用import ()、require.ensure方式导入文件同样会生成单独得打包文件,并实现 预获取/预加载模块 预获取和预加载得区别及设定参考官方文档:https://webpack.docschina.org/guides/code-splitting/#prefetchingpreloading-modules
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值