用webpack的CommonsChunkPlugin提取公共代码的3种方式

webpack(5)_提取公共代码 为什么要提取公共代码 将项目中的公共模块提取出来,可以减少代码的冗余度,提高代码的运行效率和页面的加载速度。 使用CommonsChunkPlugin提取公共代码 初始化工程 1、创建工程空目录Test 2、进入Test目录 3、使用npm初始化工程 npm init 4、创建webpack.config.js文件 安装webpack npm install webpack... 阅读详情

前面我们实现了 多页面分离资源引用,按需引用JS和css
但有一个问题:最后生成的3个js,都有重复代码,我们应该把这部分公共代码单独提取出来。

方式一,传入字符串参数
new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common.js

var HtmlWebpackPlugin = require('html-webpack-plugin');
var webpack = require('webpack');

var extractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    // entry是入口文件,可以多个,代表要编译那些js
    //entry:['./src/main.js','./src/login.js','./src/reg.js'],

    entry:
    {
        'main':'./src/main.js',
        'user':['./src/login.js','./src/reg.js'],
        'index':['./src/index.js']
    },

    externals:{
        'jquery':'jQuery'
    },

    module:{
        loaders:[
            // {test:/\.css$/,loader:'style-loader!css-loader'},
            {test:/\.css$/,loader:extractTextPlugin.extract('style','css')}
        ],
    },

    output:{
        path: __dirname+'/build/js', // 输出到那个目录下(__dirname当前项目目录)
        filename:'[name].js' //最终打包生产的文件名
    },

    plugins:[
        new HtmlWebpackPlugin({
            filename: __dirname+'/build/html/login-build.html',
            template:__dirname+'/src/tpl/login.html',
            inject:'body',
            hash:true,
            chunks:['main','user','common.js']   // 这个模板对应上面那个节点
        }),

        new HtmlWebpackPlugin({
            filename: __dirname+'/build/html/index-build.html',
            template:__dirname+'/src/tpl/index.html',
            inject:'body',
            hash:true,
            chunks:['index','common.js']   // 这个模板对应上面那个节点
        }),

        // css抽取
        new extractTextPlugin("[name].css"),

        // 提供公共代码
        new webpack.optimize.CommonsChunkPlugin('common.js'), // 默认会把所有入口节点的公共代码提取出来,生成一个common.js
    ]
};

方式二,有选择的提取公共代码

// 提供公共代码
// 默认会把所有入口节点的公共代码提取出来,生成一个common.js
// 只提取main节点和index节点
new webpack.optimize.CommonsChunkPlugin('common.js',['main','index']), 

方式三,有选择性的提取(对象方式传参)
推荐

        new webpack.optimize.CommonsChunkPlugin({
            name:'common', // 注意不要.js后缀
            chunks:['main','user','index']
        }),

通过CommonsChunkPlugin,我们把公共代码专门抽取到一个common.js,这样业务代码只在index.js,main.js,user.js

webpack4脚手架搭建2——提取公共代码以及代码分割和懒加载 由于模块化开发中存在模块依赖问题,所以为了减少代码的冗余,提升用户加载速度,我们需要提取公共代码。 webpack 4 移除了 CommonsChunkPlugin,取而代之的是两个新的配置项(optimization.splitChunks 和 optimization.runtimeChunk) 准备工作 我们在src/文件夹下创建app.js和main.js分别作为两个入口文件。同时,这两个... 阅读详情

相关推荐

Webpack 提取公共代码的 CommonsChunkPlugin 插件

这样,当用户访问网页时,只需加载 vendor.bundle.js 和 app.bundle.js 两个文件,从而减少了加载时间和带宽消耗。Webpack 的 CommonsChunkPlugin 插件是一个强大的工具,可以帮助我们将公共的 JavaScript 代码提取到单独的文件中,优化项目的性能和加载速度。CommonsChunkPlugin 插件使我们可以将公共的 JavaScript 代码提取到一个单独的文件中,从而减小每个入口文件的体积,提高加载速度。

XymkMl的博客 369

webpack——CommonsChunkPlugin

作用 虽然webpack4已经出来很久了,CommonsChunkPlugin也已经舍弃了,但是还是有很多项目是通过webpack3来打包的,对CommonsChunkPlugin各个配置项的认识还是比较模糊,这里做个详细的记录。 CommonsChunkPlugin通过将公共模块拆出来,最终合成的文件能够在最开始的时候加载一次,以便存到缓存中供后续使用。     既然是将公共模块拆分出来,那么肯...

张勇的博客 4337

rk3576之imx415 4k@60fps

1;0;1;0;1;0;1;0;1;0;1;0;1;0;

darennet的专栏 703

webpack.optimize.CommonsChunkPlugin 详解

#明确概念 entry的每一个入口文件都叫chunk (entry chunk) 每个入口文件异步加载也叫chunk(children chunk) 通过commonChunkPlugin 抽离出来的也叫chunk(common chunk) #使用场景 多入口文件,需要抽出公告部分的时候。 单入口文件,但是因为路由异步加载对多个子chunk, 抽离子每个children公共的部分。 把第三...

weixin_34240657的博客 1357

深入GSConv代码:逐行解析这个混合了标准卷积与深度可分离卷积的‘新算子’

本文深入解析GSConv代码,详细介绍了这个混合标准卷积与深度可分离卷积的‘新算子’的设计哲学与实现框架。通过PyTorch代码逐行分析,揭示GSConv如何在轻量级卷积神经网络中平衡计算效率与特征表达能力,特别适用于Slim-Neck架构,显著降低计算量同时保持高精度。

weixin_29860267的博客 321

【国产化信创实践】宝兰德bes中间件集成springboot

【国产化信创实践】宝兰德bes中间件集成springboot

项目管理、软件工厂、vue研发、Java研发、中国文化等。 1万+

webpack.optimize.CommonsChunkPlugin has been removed,please use config.optimization.splitChunks...

webpack.optimize.CommonsChunkPlugin has been removed,please use config.optimization.splitChunks instead.

开发日常,随手笔记。 1588

高速PCB设计中串扰的成因、影响与实战控制策略

在高速数字电路与硬件系统设计中,信号完整性是确保系统稳定可靠的核心基础。其核心原理在于,当信号在传输线上传播时,会伴随产生电场与磁场,若相邻导线距离过近,便会通过电磁场耦合产生不期望的能量转移,即串扰。这一现象会直接导致信号波形畸变、时序偏移和噪声裕量降低,严重影响系统性能。从技术价值看,深入理解并有效控制串扰,是提升数据传输速率、保障系统稳定性和降低误码率的关键。其应用场景广泛覆盖了从高速SerDes链路、DDR内存接口到高精度模拟电路等几乎所有现代电子系统。本文聚焦于高速PCB设计中的串扰问题,系统剖析

weixin_27625589的博客 574

[转] 用webpack的CommonsChunkPlugin提取公共代码的3种方式

方式一,传入字符串参数new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common.js var HtmlWebpackPlugin = require('html-webpack-plugin'); var webpack = require('webpack'); va...

weixin_34227447的博客 159

TwinCAT报SSE invalid operation错误

错误类型 TwinCAT程序中报出以下错误: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 **** 383 ms | 'Port_851' (851): Exception (Exception Code: 0xc0000090, SSE invalid operation) in PLC Application Untitled1 Instance, Task PlcTask (RBP: 0xffffb3016c80ecc0, RIP: 0xffffe708ee5b5f53, RSP:

akadiao的博客 4159

SOEM主站开发篇(1):移植SOEM主站到Linux开发板

详细介绍了SOEM主站源码移植到Linux开发板上的步骤,同时演示了如何使用Linux开发板获取EtherCAT从站的PDO映射信息。

kevin1499的博客 2394

用webpack的CommonsChunkPlugin提取公共代码的3种方式(webpack4 removed)

前面我们实现了 多页面分离资源引用,按需引用JS和css  但有一个问题:最后生成的3个js,都有重复代码,我们应该把这部分公共代码单独提取出来。 方式一,传入字符串参数  new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common.js var HtmlWebpackPlug...

Yang Yong 的博客 756

【LabVIEW面向对象编程01】简介

记得刚接触labview那会儿,领导让我在测试设备上写一个简单的日志记录程序,自己反反复复查阅资料才简单的写了一个实在是撇脚的程序,后来领导趁着工作之余给我大致讲解了几个函数的用法,然后简单的改了一下,程序就像突然有了灵魂一样,简单好用,从那时起就对labview产生了兴趣,一发不可收拾,那时经常一个人熬夜学习,现在已然没有那种动力了,哎,年轻就是好。接下来我们为学生类创建一个对象,新建一个VI,打开程序框图,直接将我们项目中的类拖到程序框图,它就成为一个实实在在的对象,我们将其命名为studentA。

weixin_43476034的博客 671

详解用webpack的CommonsChunkPlugin提取公共代码的3种方式(注意webpack4.0版本已不存在)...

Webpack 的 CommonsChunkPlugin 插件,负责将多次被使用的 JS 模块打包在一起。 CommonsChunkPlugin 能解决的问题 在使用插件前,考虑几个问题: 对哪些 chunk 进行提取,这决定了 chunks ,children 和 name 要怎么配置 common chunk 是否异步,这决定了 async 怎么配置 common chunk 的...

weixin_33721427的博客 296

增益调度控制 —— 理论、案例与交互式 GUI 实现

本文详细介绍了增益调度控制的基本原理、数学模型及公式推导,探讨了该方法在适应非线性系统和大范围工作条件下的优势与局限。通过航空飞行控制、发动机推力控制以及化工过程控制三个典型案例,我们展示了如何利用调度变量动态调整控制增益,从而使得控制系统在各个工作点均能达到优良性能。为帮助工程师和研究者更直观地理解并验证增益调度控制的实际效果,本文提供了一套基于 Python 与 PyQt6 的交互式 GUI 控制系统代码。用户不仅可以实时查看仿真数据,还能通过在线调节参数直观体验调度控制的优势。

闲人编程的博客 1480

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深入浅出的webpack构建工具---webpack3版本的CommonsChunkPlugin详解(六)

阅读目录 一:什么是CommonsChunkPlugin, 它的作用是什么? 二:webpack3中CommonsChunkPlugin配置项及含义? 回到顶部 一:什么是CommonsChunkPlugin, 它的作用是什么?      CommonsChunkPlugin插件是用来提取公共代码的,比如一个文件它包含了多个入口chunk的公共模块,通过将公共模块提取出来,最终打包的...

weixin_33738555的博客 262

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

webpack服务器性能,webpack面试题

1. webpack3和webpack4的区别1.1. mode/–mode参数新增了mode/--mode参数来表示是开发还是生产(development/production)production 侧重于打包后的文件大小,development侧重于goujiansud1.2. 移除loaders,必须使用rules(在3版本的时候loaders和rules 是共存的但是到4的时候只允许使用r...

weixin_35260789的博客 270

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

webpack CommonsChunkPlugin 提取公共代码

本文转载于:猿2048网站webpack CommonsChunkPlugin 提取公共代码 1、项目结构 2、部分代码 module.js console.log('module.js'); index文件夹下的index.js require('../mod...

chuluxie3918的博客 192

webpack CommonsChunkPlugin的一些总结,以及如何分别打包公共代码和第三方库

CommonsChunkPlugin 官方文档地址 https://webpack.github.io/docs/list-of-plugins.html#commonschunkplugin new webpack.optimize.CommonsChunkPlugin(options) 相关设置总结 options.name or options.names (string|...

309

webpack提取公共代码

今天学了webpack的提取公共代码。记录一下:为什么要提取公共代码,简单来说,就是减少代码冗余,提高加载速度。这里要用到两个插件:commonChunkPluginwebpack.optimize.commonsChunkPlugin配置:plugins:[new webpack.optimize.commonsChunkPlugin(option)]option里面是一个json,配置如下op...

simoon's的博客 2727

CommonsChunkPlugin的一些总结,以及如何分别打包公共代码和第三方库

如何分别打包公共代码和第三方库现在假设入口文件里面有entry:{ main1:'./app/js-uglify/a.js', main2:'./app/js-uglify/b.js', vendor:['./app/js-uglify/j1','./app/js-uglify/j2'] }a.js和b.js是项目文件,j1和j2是第三方插件出口文件配置: output: {

个人前端记录 9776

CommonsChunkPlugin多入口提取公共代码

webpack提取公共代码的作用: 减少代码冗余 提高加载速度 如下图:分别有A,B,C 3个模块,当加载图一时需要需要同时加载A和C模块,加载图二时,需要同时加载B,C模块 ,而图3先将C提取出来,这样加载页面时,会减少重复加载和代码量 CommonsChunkPlugin相关介绍: 1.配置 { plugins: [ new we...

1464

迁移到webpack4:从webpack.optimize.CommonsChunkPlugin到config.optimization.splitChunk

问题现象: 迁移到webpack4:使用webpack.optimize.CommonsChunkPlugin插件提取公共代码时候, 报错:webpack4 Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead; ...

weixin_33725239的博客 449

webpack 深入浅出分析之打包公共代码、代码分割和懒加载

一、webpack 打包公共代码 创建一个空文件夹,通过 npm init 初始化创建 package.json 文件,通过 npm install webpack --save-dev 命令下载 webpack。 创建 src 文件夹,里面创建 moduleA.js、subPageA.js和 subPageB.js,moduleA.js作为subPageA.js和 subPageB.js的公共组件。创建 pageA.js 和 pageB.js 文件,subPageA.js和 subPageB.js

浮生离梦的博客 561

webpack的entry,output及CommonsChunkPlugin

在webpack中可以通过设置entry,output以及结合CommonsChunkPlugin 来实现打包时,业务代码和第三方代码的分离 部分相关(黄色)webpack.config.js代码如下: var webpack = require('webpack'); var path = require('path'); var buildPath = path.res...

dieang2090的博客 114

入门webpack(五)打包公共代码

打包插件:CommonsChunkPlugin 插件中文网站 || 插件英文官网 如何使用 //安装webpack //webpack.config.js文件中引入webpack模块 // 关于options具体信息请参考官网 cnpm install webpack --save-dev //安装webpack var Webpack = require('webpack') plugin

TyrionJ的博客 2056
上一篇: 多页面分离资源引用,按需引用JS和css
下一篇: Magento调用New Arrivals 新品上架产品实例
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值