webpack(5)_提取公共代码

为什么要提取公共代码

将项目中的公共模块提取出来,可以减少代码的冗余度,提高代码的运行效率和页面的加载速度。

使用CommonsChunkPlugin提取公共代码

  • 初始化工程
    1、创建工程空目录Test
    2、进入Test目录
    3、使用npm初始化工程 npm init
    4、创建webpack.config.js文件
  • 安装webpack
    npm install webpack --save-dev
    因为CommonsChunkPlugin是webpack内置插件,所以要将webpack装在项目中。
  • 配置webpack.config,js,主要在plugins属性中配置参数
    1、引入webpack模块,需要在项目环境中安装webpack
    2、在plugins节点中新建一个CommonsChunkPlugin实例
    new webpack.optimize.CommonsChunkPlugin(options);
    3、CommonsChunkPlugin方法中参数是一个对象,对象属性有:
    name:提取公共代码的js文件名,如:common
    names:字符串数组,打包的文件名称
    minChunks: 指定重复代码几次之后就提取出来
    chunks:// 指定提取范围
var webpack = require('webpack');
var path = require('path');
module.exports = {
    entry: {
        'subPageA': './src/subPageA', // 公共代码提取是针对多entry的,在单一entry下是体现不出来的
        'subPageB': './src/subPageB'
    },
    output: {
        path: path.resolve(__dirname, './dist'), //__dirname 代表当前目录
        filename: "[name].bundle.js"
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            name: 'common', // 如果还要提取公共代码,在新建一个实例
            minChunks: 2, //重复两次之后就提取出来
            chunks: ['subPageA', 'subPageB'] // 指定提取范围
        })
    ]
}

代码示例

  • 新建js公共模块文件module.js,并添加代码
export default 'module';
  • 新建subPageA.js文件,并添加代码
import './module'
export default 'subPageA';
  • 新建subPageB.js文件,并添加代码
<
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
webpack代码分割是一种优化技术,它可以将代码分割成多个小块,以减小单个文件的大小并提高加载速度。在webpack中,有两种常见的代码分割方法可以使用:代码分割和公共代码提取代码分割是指将代码分割成多个不同的块,避免将所有的代码打包到一个文件中。这样可以实现按需加载,只加载当前需要的代码。在webpack中,可以使用动态导入(import())或旧版本的require.ensure来实现代码分割。动态导入是一种符合ECMAScript提案的语法,可以在运行时动态加载模块。而require.ensure是webpack的遗留功能,可以实现异步模块加载。 公共代码提取是指将多个入口文件中的共享代码提取出来,以减少重复加载和减小文件大小。webpack提供了SplitChunksPlugin插件来实现公共代码提取。通过配置webpack.config.js文件中的optimization.splitChunks选项,可以将共享依赖模块提取成一个单独的文件,供多个入口文件共享使用。 在项目结构中,可以通过Webpack配置文件(webpack.config.js)来指定代码分割的行为。通过配置entry和output选项,可以指定入口文件和输出文件的位置。同时,通过配置optimization选项,可以进行代码分割和公共代码提取的配置。 总结起来,webpack代码分割是通过将代码分割成多个小块来优化性能的一种技术。可以使用动态导入或require.ensure来实现代码分割,也可以使用SplitChunksPlugin插件来实现公共代码提取。通过合理配置webpack.config.js文件,可以实现代码分割和公共代码提取的优化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ruiurrui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值