webpack 常用插件
# webpack 常用插件
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3",
// 启动一个webpack本地服务器便于开发
"webpack-merge": "^4.2.2"
// 能够将两个webpack配置合并
"babel-loader": "^8.1.0",
// webpack中使用 babel 需要的loader
"@babel/core": "^7.9.6",
"@babel/plugin-transform-runtime": "^7.9.6",
"@babel/preset-env": "^7.9.6",
"@babel/polyfill": "^7.8.7",
"@babel/runtime": "^7.9.6",
"@babel/runtime-corejs2": "^7.9.6",
"core-js": "^2.6.11"
// 能够将es6+ 转换位浏览器支持的 es5-
"postcss-loader": "^3.0.0",
"autoprefixer": "^9.7.6",
// css样式添加浏览器前缀
"clean-webpack-plugin": "^3.0.0",
// 打包前清除上一次打包后生成的文件夹
"css-loader": "^3.5.3",
// 将css样式拼接成一个文件
"file-loader": "^6.0.0",
// 将源代码文件复制一个到打包生成后的文件夹中
"url-loader": "^4.1.0",
与 file-loader 功能一致
能够配置依据文件打下而生成文件或打包到一起
"html-webpack-plugin": "^4.3.0",
// 生成 依据模板html生成打包后的入口html文件
"node-sass": "^4.14.0",
"sass-loader": "^8.0.2",
// sass使用时所依赖的loader和插件
"style-loader": "^1.2.1",
// 将css添加到html文件的header中
"mini-css-extract-plugin": "^0.9.0"
css样式代码单独抽离成文件
"http-server": "^0.12.3",
// 启动一个http服务器
// 在命令行 执行 http-server 文件夹名(有index.html文件)
"workbox-webpack-plugin": "^5.1.3"
// PWA webpack插件 服务器done掉后能够让用户访问已缓存的页面
// https://webpack.js.org/guides/progressive-web-application/#we-dont-work-offline-now
webpack config code splitting set
optimization{
splitChunks: {
chunks: "all",//同步异步都做代码分割
minSize: 30000, // 大于30kb
minRemainingSize: 0,
maxSize: 0,
minChunks: 1, // 引入次数
maxAsyncRequests: 6, // 最大异步数
maxInitialRequests: 4,// 最小同步数
automaticNameDelimiter: "~", // 文件名连接符
cacheGroups: {
defaultVendors: {
test: /[\\/]node_modules[\\/]/,// 在node_modules文件夹中
priority: -10,// 权重值
},
default: {
minChunks: 2,
priority: -20,
reuseExistingChunk: true,// 模块相互引用只打包一次
},
},
},
}