webpack常用的插件
webpack常用的开发插件
1.clean-webpack-plugin
运行webpack build时先把打包进入的文件夹清空
注意,它是以对象的方式去接收的
const { CleanWebpackPlugin } = require("clean-webpack-plugin")
plugins: [
new CleanWebpackPlugin(),
]
2.html-webpack-plugin
模板文件,动态的去创造模板文件
主要用途
可以动态的引入js,因为每次打包后的js hash值可能不一样,它可以根据具体的hash值,引入js
const HtmlWebpackPlugin = require("html-webpack-plugin")
plugins: [
new HtmlWebpackPlugin({
template: 'index.html',
title: 'czklove',
filename: 'index.html',
chunks: '[name].bundle[hash].js'
})
]
3.HotModuleReplacementPlugin 模块热替换插件
webpack 内置插件,可以简单配置就能用。功能,就是提供保存后,页面刷新修改内容
new webpack.HotModuleReplacementPlugin()
4.最最重要的插件,SplitChunksPlugin ,代码分割插件
optimization: {
splitChunks: {
chunks: 'initial', // 分割方式 async, all ,initial
minSize: 30000, //分割后的文件最小值
minChunks: 1, // 最小引用次数
maxAsyncRequests: 5, // 异步的最大分割数
maxInitialRequests: 3, // 初始模块的最大分割数
automaticNameDelimiter: '~', // 分割后的名字用什么符号链接
name: true,
cacheGroups: { //缓存组
venxx: {
test: /vue/,
name: 'vuevendors'
},
vendors: {
test: /jquery/,
name: 'jqueryvendors'
}
}
}
},
主要用途
1.做代码分割,默认是将所以的异步引入单独打包,如常见的Vue异步路由组件
2.将不常改变的模块代码单独打包,这样更有利于浏览器的缓存处理,如将vue vuex vue-router, ui库,这些都是不常改变
3.将业务代码单独打包,这是经常改变的
4.异步模块代码单独打包,做预加载处理,加快首页加载速度
如果项目过大,打包事件过长,可以考虑使用HappyPack 插件,开启多进程打包(不是多线程,js是单线程的)
plugins: [
new HappyPack({
id: 'babel', // 与loader 配置项对应
threads: 4, // 开启多少个进程
loaders: ['babel-loader'] //用什么loader处理
})
]
webpack常用的插件的更多相关文章
- webpack常用的插件安装命令
webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loa ...
- vue+webpack 安装常见插件
html-webpack-plugin 插件地址:https://www.npmjs.com/package...安装指令: npm install html-webpack-plugin --sav ...
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- 常用Jquery插件整理
虽然自己也写过插件,但JQuery插件种类的繁多,大多时候,我还是使用别人写好的插件,这些都是我用了同类插件里较为不错的一些,今天就整理一下公开放出来. UI: jquery.HooRay(哈哈,自己 ...
- webpack进阶之插件篇
一.插件篇 1. 自动补全css3前缀 autoprefixer 官方是这样说的:Parse CSS and add vendor prefixes to CSS rules using values ...
- Eclipse常用开发插件
以下是我整理的自己开发过程中的常用Eclipse插件,按字母排序: (1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,sequen ...
- 常用Maven插件介绍
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- 学习笔记——Maven实战(七)常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
随机推荐
- HBuilder搭建Android模拟器
HBuilder搭建Android模拟器 //来源: https://www.cnblogs.com/bjxingch/articles/6657938.html 1.下载夜神Android模拟 ...
- Rust Linking With C Library Functions
#[link(name = "c")] extern "C" { fn scanf(format: *const u8, ...); } fn main() { ...
- LeetCode 39. 组合总和(Combination Sum)
题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限 ...
- leetcode-easy-math-204 Count Primes-NO
mycode time limited class Solution(object): def countPrimes(self, n): """ :type n ...
- Mysql的BTREE和HASH索引
建议默认使用BTree索引,如果时间太长,可以尝试HAST索引,但限制如下: 不支持between and 只支持 = IN <> 不支持范围查询如between and和like. 无法 ...
- @RequestHeader和@CookieValue的使用
/** * 了解: * * @CookieValue: 映射一个 Cookie 值. 属性同 @RequestParam */ @RequestMapping("/testCookieVal ...
- 半硬化树脂PP的型号
1080是PP半固化胶片的型号(perperg),还有7628,2116,2113,2112,1506等等型号,每种型号不一样代表其PP内部的玻纤布不一样,比如7628的玻纤布相对较粗.数值较小则玻纤 ...
- spingboot之Java邮件发送
注意: 该项目的工具类可以直接应用于项目 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...
- 利用Python处理向不受信任主机发送请求
,HTTP vs HTTPS 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器 ...
- Custom Configuration 的两种方法:2.XmlSerializer XmlAttribute
第二种:XmlSerializer XmlAttribute 1.CustomConfiguration.xml 2.CustomConfigurationSetting.cs 3.CustomCon ...