1.webpack概念
前端静态模块化打包器2.打包工具
把所有文件 经过webpack处理,生成html,css,图片,js
1.sea.js3.入口entry
2.require.js
3.gulp
4.grunt
5.webpackwebpack依赖 webpack.config.js打包
入口起点(entry point) 指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。4.输出
默认值是 ./src/index.js,但你可以通过在 webpack configuration 中配置 entry 属性,来指定一个(或多个)不同的入口起点
path:__dirname+"/dist"
(__dirname当前目录)
filenane
文件名称
output:{
//__dirname 指当前目录 两个下划线
//路径
path:__dirname+'/dist',
//打包好的js文件名称
filename:'main.js'
},
5.模式 moude
模式分为两种:6.加载器 loader
一.development开发模式
二.production产品模式
处理非js文件7.插件 plugins
module:{
rules:[
{"test":/\.css/,loader:["style-loader","css-loader"]}
]
}
style-loader 把css加载到style标签
css-loader 处理.css文件
在webpack运行过程做打包,压缩,清理,8.本地服务器 devServe
使用:
01 安装
npm i html-webpack-plugin
02 导入
const HtmlWebpackPlugin = require("html-webpack-plugin")
03 使用
plugins:[
new HtmlWebpackPlugin({template:"./public/index.html"})
]
html-webpack-plugin把模板html插件打包好的js拷贝到dist
devServer:{
host:"域名",
port:"8080",
hot:"热更新",
open:"是否自动打开浏览器"
proxy:{} , // 代理
}
package.json
"scriot":{
"serve":"webpack serve"
}
npm run serve9.浏览器的缓存机制
浏览器get请求会缓存10.hash命名
如果浏览器第二次请求的地址在缓存中就使用缓存
web hash缓存
如果文件没有发生修改,使用一样名称
如果文件发生修改了,更改生成的文件名
没有发生更改的文件:缓存
修改的文件:更新
【webpack|webpack知识点】hash文件内容发生变化,hash变化
contentHash内容发生变化 hash变化
chunckHash入口有很多歌,哪个入口发生变化,hash变化
推荐阅读
- vue|vue环境搭建
- webpack|webpack 代码分离
- webpack|webpack 代码分离-08
- 学习|Git、node、npm、webpack、yarn、脚手架是什么
- Java|ElasticSearch 7.8.1教程(from b站狂神)+JD商城仿站
- Nebula|开源图编辑库 NebulaGraph VEditor 的设计思路分享
- #项目: electron仿客户端QQ简易版
- Vue项目导出|前端使用vue实现导出pdf
- javascript|vue实现HTML转PDF (已解决清晰、页边距、图片导出等问题)