返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Webpack提取页面公共资源的实现
  • 616
分享到

Webpack提取页面公共资源的实现

Webpack提取公共资源Webpack公共资源提取 2023-01-28 06:01:28 616人浏览 八月长安
摘要

目录1. 利用html-webpack-externals-plugin 分离基础库2. 利用SplitChunksPlugin 分离基础库3. 利用SplitC

1. 利用html-WEBpack-externals-plugin 分离基础库

在做React开发时,经常需要引入react和react-dom基础库,这样在打包的时候速度就会比较慢,这种情况下我们可以将这些基础库忽略掉,将它们通过CDN的方式直接引入,而不打包到bundle文件里面去。

1. 安装插件

npm i html-webpack-externals-plugin -D

2. 引入插件

const HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin');

3. 使用插件

在 webpack 中配置如下:

module.exports = {
 
    // 其它配置项此处略
 
    plugins: [
        new HtmlWebpackExternalsPlugin({
            externals: [
              {
                module: 'react',
                entry: 'https://11.url.cn/now/lib/16.2.0/react.min.js',
                global: 'React',
              },
              {
                module: 'react-dom',
                entry: 'Https://11.url.cn/now/lib/16.2.0/react-dom.min.js',
                global: 'ReactDOM',
              },
            ]
        }),
   
    ]
};

在根页面 index.html 文件中引入基础库:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>分离基础库</title>
</head>
<body>
 
    <div id="root"></div>
 
    <!-- 引入基础库 -->
    <script type="text/javascript" src="https://11.url.cn/now/lib/16.2.0/react.min.js"></script>
    <script type="text/javascript" src="https://11.url.cn/now/lib/16.2.0/react-dom.min.js"></script>
    
</body>
</html>

2. 利用SplitChunksPlugin 分离基础库

此插件是Wabpack4内置的,无需安装,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            cacheGroups: {
                commons: {
                    // 匹配出需要分离的包
                    test: /(react|react-dom)/,
                    name: 'vendors',
                    chunks: 'all'
                }
            }
        }
    }
};

分离出来的文件名前辍为vendors,也要进行配置。

3. 利用SplitChunksPlugin 分离依赖包

此插件是Wabpack4内置的,无需安装,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            // 同步还是异步
            chunks: 'async',
            // 抽离公共包最小的大小(KB)
            minSize: 30000,
            // 抽离公共包最大的大小(KB)
            maxSize: 0,
            // 方法最小使用次数
            minChunks: 1,
            // 浏览器每次请求异步资源的次数
            maxAsyncRequests: 5,
            maxInitialRequests: 3,
            automaticNameDelimiter: '~',
            name: true,
            cacheGroups: {
                vendors: {
                    test: /[\\/]node_modules[\\/]/,
                    priority: -10
                }
            }
        }
    }
};

chunks 参数说明:

1. async 异步引入的库进行分离(默认);

2. initial  同步引入的库进行分离 ;

3. all 所有引入的库进进分离(推荐);

4. 利用SplitChunksPlugin 分离页面公共文件

此插件是Wabpack4内置的,无需安装,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            // 分离的包体积的⼤⼩
            minSize: 0,
            cacheGroups: {
                commons: {
                    name: 'commons',
                    chunks: 'all',
                    // 最⼩引⽤次数为2次
                    minChunks: 2
                }
            }
        }
    }
};

分离出来的文件名前辍为commons,也要进行配置。

 到此这篇关于Webpack提取页面公共资源的实现的文章就介绍到这了,更多相关Webpack提取公共资源内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Webpack提取页面公共资源的实现

本文链接: https://lsjlt.com/news/178369.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Webpack提取页面公共资源的实现
    目录1. 利用html-webpack-externals-plugin 分离基础库2. 利用SplitChunksPlugin 分离基础库3. 利用SplitC...
    99+
    2023-01-28
    Webpack提取公共资源 Webpack公共资源提取
  • 如何使用webpack的CommonsChunkPlugin提取公共代码
    这篇文章主要为大家展示了“如何使用webpack的CommonsChunkPlugin提取公共代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用webp...
    99+
    2024-04-02
  • HTML5中公共页面如何提取作为公用代码
    这篇文章主要介绍HTML5中公共页面如何提取作为公用代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在网站制作中有很多部分的代码是相同的,如footer部分,可以把这段代码提取出来,在别的页面调用。index.ht...
    99+
    2023-06-09
  • SpringBoot公共页面抽取方法实现过程介绍
    目录1. 需求描述2. 使用 thymeleaf 抽取公共页面方法3. insert与replace及include抽取公共页面的区别1. 需求描述 我们有这样一个页面,其具有左侧导...
    99+
    2024-04-02
  • vue实现自定义公共组件及提取公共的方法
    目录自定义公共组件及提取公共的方法vue自定义公共组件vue 提取公共的方法vue定义公用方法自定义公共组件及提取公共的方法 vue自定义公共组件 我们在编写页面的时候,会存在公共的...
    99+
    2024-04-02
  • vue如何实现自定义公共组件及提取公共方法
    这篇“vue如何实现自定义公共组件及提取公共方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现自定义公共组件及...
    99+
    2023-06-30
  • webpack实现静态资源缓存的方法
    目录引言区分一下几种不同的hashhashchunkhashcontenthash实现js缓存CommonsChunkPlugin不正确用法引起问题的原因实现css的缓存实现图片/字...
    99+
    2024-04-02
  • python3实现抓取网页资源的 N 种方法
    这两天学习了python3实现抓取网页资源的方法,发现了很多种方法,所以,今天添加一点小笔记。 1、最简单 import urllib.request response = urllib.reques...
    99+
    2022-06-04
    种方法 网页 资源
  • webpack优化之代码分割与公共代码提取的示例分析
    小编给大家分享一下webpack优化之代码分割与公共代码提取的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、概念在一...
    99+
    2024-04-02
  • Python使用urllib2模块抓取HTML页面资源的实例分享
    先把要抓取的网络地址列在单独的list文件中 http://www.lsjlt.com/article/83440.html http://www.lsjlt.com/article/83437.ht...
    99+
    2022-06-04
    实例 模块 页面
  • webpack中多页面/入口支持与公共组件单独打包的示例分析
    这篇文章将为大家详细讲解有关webpack中多页面/入口支持与公共组件单独打包的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础结构和准备工作以下示例基于上一篇...
    99+
    2024-04-02
  • Webpack实现多页面打包的方法步骤
    目录1. 多页面应用(MPA)概念2. 多页面打包基本思路3. 多页面打包通用方案4. 多页面打包实现1. 多页面应用(MPA)概念 单页面在开发时会把所有的业务放在一个大的入口里面...
    99+
    2023-01-09
    Webpack 多页面打包 webpack打包多页面
  • 如何实现基于react+webpack的多页面应用
    这篇文章给大家分享的是有关如何实现基于react+webpack的多页面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目目录介绍:打包后文件目录:打包成cli如果你厌烦了新...
    99+
    2024-04-02
  • 使用Webpack构建多页面程序的实现步骤
    使用webpack搭建单页面程序十分常见,但在实际开发中我们可能还会有开发多页面程序的需求,因此我研究了一下如何使用webpack搭建多页面程序。 原理 将每个页面所在的文件夹都看...
    99+
    2024-04-02
  • JavaScript禁用提示页面的实现方法
    本篇内容主要讲解“JavaScript禁用提示页面的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript禁用提示页面的实现方法”吧!淘宝曾...
    99+
    2024-04-02
  • Android编程实现获取图片资源的四种方法
    本文实例讲述了Android编程实现获取图片资源的四种方法。分享给大家供大家参考,具体如下: 1. 图片放在sdcard中: 代码如下:Bitmap imageBitmap ...
    99+
    2022-06-06
    方法 图片 Android
  • Java怎么实现的读取资源文件工具类ResourcesUtil实例
    这篇文章将为大家详细讲解有关Java怎么实现的读取资源文件工具类ResourcesUtil实例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Java实现的读取资源文件工具类Resources...
    99+
    2023-05-30
    java
  • 如何用Python实现网页正文的提取
    这篇文章主要介绍了如何用Python实现网页正文的提取的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用Python实现网页正文的提取文章都会有所收获,下面我们一起来看看吧。一个典型的新闻网页包括几个不同区域...
    99+
    2023-06-02
  • Windows系统部署WebDAV服务结合内网穿透实现公网访问,轻松共享文件与资源
    windows搭建WebDAV服务,并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务,并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客...
    99+
    2023-10-12
    windows
  • springboot自定义404、500错误提示页面的实现
    目录springboot 默认的异常处理机制使用模板引擎使用示例没有使用模板引擎springboot 默认的异常处理机制 springboot 默认已经提供了一套处理异常的机制。一旦...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作