Webpack系列——代码分离(Code Splitting)

代码分离(Code Splitting)

// index.js
import _ from 'lodash';
const ele = document.createElement('div');
ele.innerHTML = _.join(['Code', 'Splitting'], '---');
document.body.appendChild(ele);

以上代码中,在开头同步引入了 lodash ,这没什么问题,但是一旦这个 index.js 文件很大,只要 index.js 中代码一变化,那么整个 index.js 就会重新加载,这是,lodash 又会被重新引入。简而言之,每次修改 index.js ,就会导致一次 lodash 的引入,这是一种浪费。

Entry 入口配置

将固定复用的代码(以 lodash 为例)卸载一个 js 文件中,然后放在 entry 入口配置里。

注意:lodash 和 index 的先后顺序

// lodash.js
import _ from 'lodash'
window._ = _
​
​
// index.js (主文件)
const ele = document.createElement('div')
ele.innerHTML = _.join(['Code', 'Splitting'], '---')
document.body.appendChild(ele)

webpack.config.js

const path = require('path')
module.exports = {
    mode: 'development',
    entry: {
        lodash: './src/lodash.js', // 注意顺序,lodash 写在前面
        index: './src/index.js' // 这样 index.js 的代码才能用到 lodash
    },
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist')
    }
    ...
}

这样,main.js 就被拆分为 lodash.js 和 index.js。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值