We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webpack是一个模块化打包JS的工具,在webpack中一切文件都是模块,通过定义entry.js对所有依赖的文件进行跟踪,将各个模块通过loader(转换文件)和plugin(注入钩子)处理,然后打包成bundle.js文件,通过代码分割成单元片段并按需加载。
打包过程中webpack根据code splitting功能将文件分为多个chunks,还可以将重复的部分单独提取出来作为commonChunk,从而实现按需加载。
bundle:是由webpack打包出来的文件 chunk:是一个代码块,一个chunk由多个模块组合而成 module:是开发中的单个模块。 在wenpack中一切都是模块,一个模块对应一个文件,webpack会从配置的entry(入口)中递归开始查找所有模块
loader: 因为webpack本身只理解JavaScript,所以loader用来解析js以外的东西,用于告诉 Webpack 在遇到哪些文件时使用哪些Loader 去加载和转换打包成js。 常用loader: css-loader——读取合并CSS 文件、 style-loader——把CSS代码注入到JavaScript中,通过DOM操作去加载CSS、 url-loader——将文件转换为base64的方式、 vue-loader——处理vue文件、 babel-loader——把ES6转换成ES5、 eslint-loader——通过ESLint检查JavaScript代码
plugin: 插件,用来扩展webpack功能,针对的是在loader结束之后,webpack打包的整个过程,他并不直接操作文件,而是基于事件机制工作,监听webpack打包过程中的某些节点,在合适的机会通过webpackt提供的API改变输出结果。 常用Plugin: define-plugin——定义环境变量 commons-chunk-plugin——提取公共代码 uglifyjs-webpack-plugin——通过UglifyES压缩ES6代码
Webpack的运行流程是一个串行的过程,从启动到结束会依次执行以下流程:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
webpack的工作原理/打包原理
webpack是一个模块化打包JS的工具,在webpack中一切文件都是模块,通过定义entry.js对所有依赖的文件进行跟踪,将各个模块通过loader(转换文件)和plugin(注入钩子)处理,然后打包成bundle.js文件,通过代码分割成单元片段并按需加载。
按需加载
打包过程中webpack根据code splitting功能将文件分为多个chunks,还可以将重复的部分单独提取出来作为commonChunk,从而实现按需加载。
什么是bundle?什么是chunk?什么是module?
bundle:是由webpack打包出来的文件
chunk:是一个代码块,一个chunk由多个模块组合而成
module:是开发中的单个模块。
在wenpack中一切都是模块,一个模块对应一个文件,webpack会从配置的entry(入口)中递归开始查找所有模块
什么是Loader?什么是Plugin?
loader: 因为webpack本身只理解JavaScript,所以loader用来解析js以外的东西,用于告诉 Webpack 在遇到哪些文件时使用哪些Loader 去加载和转换打包成js。
常用loader:
css-loader——读取合并CSS 文件、
style-loader——把CSS代码注入到JavaScript中,通过DOM操作去加载CSS、
url-loader——将文件转换为base64的方式、
vue-loader——处理vue文件、
babel-loader——把ES6转换成ES5、
eslint-loader——通过ESLint检查JavaScript代码
plugin: 插件,用来扩展webpack功能,针对的是在loader结束之后,webpack打包的整个过程,他并不直接操作文件,而是基于事件机制工作,监听webpack打包过程中的某些节点,在合适的机会通过webpackt提供的API改变输出结果。
常用Plugin:
define-plugin——定义环境变量
commons-chunk-plugin——提取公共代码
uglifyjs-webpack-plugin——通过UglifyES压缩ES6代码
如何利用webpack来优化前端性能?
如何提高webpack的构建速度?
webpack的构建流程是什么?从读取配置到输出文件这个过程尽量说全。
Webpack的运行流程是一个串行的过程,从启动到结束会依次执行以下流程:
The text was updated successfully, but these errors were encountered: