webpack散记---提取公共代码
(1)作用:
减少代码冗余
提高加载速度
(2)来源
commonsChunkPlugin
webpack.optimize.CommonsChunkPlugin
(3)配置
{
plugins:[
new webpack.optimize.CommonsChunkPlugin( option )
]
}
(4)options里的参数
options.name /options.names
options.filename //公用文件的打包名
opyions.minChunks //是数字的话:代表你提取公共代码的次数
options.chunks //提取代码的范围
options.children
options.deepChildren
options.async //创建异步的公共代码刘
(5)场景
单页应用
单页应用 + 第三方以来
多页应用+ 第三方依赖 +webpack生成代码
npm init npm install webpack --save-dev //把webpack安装到本地 --因为chunk是webpack自带的
局部的webpack给项目的依赖做使用 (1)webpack.config.js
var webpack = require('webpack')
var path = require('path') module.exports = {
entry:{
'pageA ':'./src/pageA',
'pageB':'./src/pageB'
}, output:{
path:path.resolve(_dirname,'./dist'),
filename:'[name].bundle.js',
chunkFilename:'[name].chunk.js'
}, plugins:[
new webpack.optimize.CommonsChunkPlugin({
name:'common',
minChunks:2
})
] }
//想把lodash和vender打包在一起
module.exports = {
entry:{
'pageA':'./src/pageA',
'pageB':'./src/pageB',
'vender':['lodash']
},
output:{
path:path.resolve(__dirname,'./dist'),
filename:'[name].bundle.js',
chunkFilename:'[name].chunk.js'
},
plugins:[
new webpack.optimize.CommizeChunkPlugin({
name:'common', //还是分开打包
minChunks:Infinity, //2
chunks:['pageA','pageB']
}),
new webpack.optimize.CommizeChunkPlugin({
name:'vendor', //把lodash和vender打包在一起
minChunks:Infinity //不需要任何重复
}),
new webpack.optimize.CommizeChunkPlugin({
name:'mainifest', //把lodash和vender打包在一起
minChunks:Infinity //不需要任何重复
}),
new webpack.optimize.CommizeChunkPlugin({
names:['wendor','manifest'], //把lodash和vender打包在一起
minChunks:Infinity //不需要任何重复
})
]
}
webpack散记---提取公共代码的更多相关文章
- webpack配置提取公共代码
公共代码提取功能是针对多入口文件的: 背景:在pageA.js和pageB.js中分别引用subPageA.js和subPageB.js webpack.config.js文件: var path = ...
- webpack CommonsChunkPlugin 提取公共代码
1.项目结构 2.部分代码 module.js console.log('module.js'); index文件夹下的index.js require('../module.js'); consol ...
- webpack学习笔记--提取公共代码
为什么需要提取公共代码 大型网站通常会由多个页面组成,每个页面都是一个独立的单页应用. 但由于所有页面都采用同样的技术栈,以及使用同一套样式代码,这导致这些页面之间有很多相同的代码. 如果每个页面的代 ...
- [转] 用webpack的CommonsChunkPlugin提取公共代码的3种方式
方式一,传入字符串参数 new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common. ...
- 详解用webpack的CommonsChunkPlugin提取公共代码的3种方式(注意webpack4.0版本已不存在)
Webpack 的 CommonsChunkPlugin 插件,负责将多次被使用的 JS 模块打包在一起. CommonsChunkPlugin 能解决的问题 在使用插件前,考虑几个问题: 对哪些 c ...
- 基于webpack实现多html页面开发框架六 提取公共代码
一.解决什么问题 1.如果a.js和b.js都引用了common.js,那在打包的时候common.js会被重复打入到a.js和b.js,造成重复打包 2.单独打包common.js对性能有帮助,浏览 ...
- webpack4 系列教程(三): 多页面解决方案--提取公共代码
这节课讲解webpack4打包多页面应用过程中的提取公共代码部分.相比于webpack3,4.0版本用optimization.splitChunks配置替换了3.0版本的CommonsChunkPl ...
- 记webpack下提取公共js代码的方法
环境: webpack4.6 + html-webpack-plugin 多页面多入口 经多次研究,稍微靠谱可用的配置 optimization: { splitChunks: { minSize: ...
- webpack优化之玩转代码分割和公共代码提取
前言 开发多页应用的时候,如果不对webpack打包进行优化,当某个模块被多个入口模块引用时,它就会被打包多次(在最终打包出来的某几个文件里,它们都会有一份相同的代码).当项目业务越来越复杂,打包出来 ...
随机推荐
- python 开启http服务并下载文件
Python <= 2.3python -c "import SimpleHTTPServer as s; s.test();" 8000 Python >= 2.4p ...
- SPringBootJPA的使用快速开发
一文搞懂如何在 Spring Boot 中正确使用 JPA JPA 这部分内容上手很容易,但是涉及到的东西还是挺多的,网上大部分关于 JPA 的资料都不是特别齐全,大部分用的版本也是比较落后的.另外, ...
- [Verilog] indexed part-select +:
That syntax is called an indexed part-select. The first term is the bit offset and the second term ...
- java web开发缓存方案,ehcache和redis哪个更好
Ehcache在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apac ...
- UGUI崭新崭新的新手
------------------------------------------------------------------------------------1--------------- ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SQLI_LAB------level 1
SQLI_LAB 刷题刷题刷题!!! 知识扩展: SQL 1)SQL注入介绍 SQLI,sql injection,我们称之为 sql 注入.何为 sql,英文:Structured Query La ...
- nohup command 2>&1 & 的含义
nohup command 2>&1 &的含义: nohup:no hang up,意思是不挂断.表示永久执行命令,哪怕当前终端已经退出登录. 并且命令前面添加nohup之后,会 ...
- 使用JMX连接JVM
什么是JMX? 什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.系统体系 ...
- css的响应式布局和动画
把响应式布局和动画放在一起写是因为他们有个共同点@符号 先讲讲响应式布局@media 响应式布局==曾经==非常的流行,这种布局方式可以做出一也兼容一切设备的页面,但是当页面的功能越来越多,css文件 ...