礼品工艺品网站建设,网站建设合同浩森宇特,农村自建房设计,重庆seo外包平台Webpack是目前比较物流的前端构建工具#xff0c;它基于入口#xff0c;用不同的Loader来处理不同的文件
Webpack的核心概念
Entry#xff1a;入口#xff0c;Webpack执行构建的第一步将从Entry开始#xff0c;可抽象成输入。告诉Webpack要使用哪个模块作为构建项目的起…Webpack是目前比较物流的前端构建工具它基于入口用不同的Loader来处理不同的文件
Webpack的核心概念
Entry入口Webpack执行构建的第一步将从Entry开始可抽象成输入。告诉Webpack要使用哪个模块作为构建项目的起点默认为./src/index.js
output出口告诉Webpack在哪里输出它打包好的代码以及如何命名默认为./dist
Module模块在Webpack里一切皆模块一个模块对应着一个文件。Webpack会从配置的Entry开始递归找出所有依赖的模块。
Chunk代码块一个Chunk由多个模块组合而成用于代码合并与分割。
Loader模块转换器用于把模块原内容按照需求转换成新内容。
Plugin扩展插件在Webpack构建流程中的特定时机会广播出对应的事件插件可以监听这些事件的发生在特定时机做对应的事情。
Webpack的基本功能
代码转换TypeScript编译成JavaScript、SCSS编译成CSS等等
文件优化压缩JavaScript、CSS、html代码压缩合并图片等
代码分割提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载
模块合并在采用模块化的项目有很多模块和文件需要构建功能把模块分类合并成一个文件
自动刷新监听本地源代码的变化自动构建刷新浏览器
代码校验在代码被提交到仓库前需要检测代码是否符合规范以及单元测试是否通过
自动发布更新完代码后自动构建出线上发布代码并传输给发布系统。
Webpack如何配置多入口文件?
entry: { home: resolve(__dirname, src/home/index.js),
about: resolve(__dirname, src/about/index.js)}
用于描述入口的对象。可以使用如下属性
dependOn:当前入口所依赖的入口。它们必须在该入口被加载前被加载。
filename:指定要输出的文件名称。
import:启动时需加载的模块。
library:指定library选项为当前entry构建一个library。
runtime:运行时chunk的名字。如果设置了就会创建一个新的运行时chunk。在Webpack 5.43.0之后可将其设为false以避免一个新的运行时chunk。
publicPath:当该入口的输出文件在浏览器中被引用时为它们指定一个公共URL地址
常用loader
css-loader读取合并CSS文件
style-loader把CSS内容注入到JavaScript里
sass-loader解析sass文件安装sass-loadernode-sass
postcss-loader自动添加浏览器兼容前缀postcss.config配置
url-loader将文件转换为base64 URI。
vue-loader处理vue文件。
常见Plugins
HtmlWbpackPlugin自动在打包结束后生成html文件并引入bundle.js
cleanwebPackPlugin打包自动删除上次打包文件