webpack5 学习(十)—— 代码分离

本文详细介绍了webpack5中的代码分离技术,包括入口起点、防止重复、动态导入、预获取/预加载模块,以及如何利用SplitChunksPlugin优化公共模块。通过合理使用这些方法,可以实现更小的bundle,控制加载优先级,提高应用性能。
摘要由CSDN通过智能技术生成

代码分离是 webpack 中最引人注目的特性之一。

此特性能够把代码分离到不同的 bundle 中,然后可以按需加载或并行加载这些文件。

代码分离可以用于获取更小的 bundle,以及控制资源加载优先级,如果使用合理,会极大影响加载时间。

常用的代码分离方法有三种:

  • 入口起点:使用 entry配置手动地分离代码。
  • 防止重复:使用 Entry dependencies或者 SplitChunksPlugin 去重和分离 chunk。
  • 动态导入:通过模块的内联函数调用来分离代码。

入口起点(entry point)

another-module.js

新建文件another-module.js

import _ from 'lodash';

console.log(_.join(['Another', 'module', 'loaded!'], 'console.log'));

index.js:

import _ from 'lodash';

function component () {
   
  const element = document.createElement('div');
  const btn = document.createElement('button')

  // lodash 在当前 script 中使用 import 引入
  element.innerHTML = _.join(['Hello', 'webpack'], ' ');
  btn.innerHTML = 'Let click it!'

  element.appendChild(btn)

  return element;
}

document.body.appendChild(component());

此时项目结构:

webpack-demo
|- package.json
|- package-lock.json
|- webpack.config.js
|- /dist
|- /src
  |- index.js
  |- another-module.js
|- /node_modules

修改webpack.config.js

const path = require('path')

module.exports = {
   
  mode: 'development',
  entry: {
   
    index: './src/index.js',
    another: './src/another-module.js',
  },
  output: {
   
    filename: 
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值