本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/05/30/%E4%BB%80%E4%B9%88%E6%98%AFwebpack/
摘要
本文主要讲述了:
- 什么是 webpack
- 安装
- 配置
- 兼容性
正文
什么是 webpack
webpack 是一个 JavaScript 的模块打包器。
安装
局部安装
1 |
|
注:因为webpack
仅负责打包,其代码实际并未被注入项目中,故使用--save-dev
参数
配置
entry
entry(入口)是一切的起点。
默认值:./src/index.js
示例:
learn_webpack/webpack.config.js
1 | module.exports = { |
output
output(出口)是一切的终点。
output 是一个对象。它包含path
和filename
两个属性。
path
表示出口目录,path
必须使用绝对路径表示。默认值是path.resolve("dist")
filename
表示出口文件名,默认值是main.js
示例:
learn_webpack/webpack.config.js
1 | const path = require('path'); |
loader
loader 的作用是:将其他类型的文件转换为 JavaScript 模块供webpack
打包。
webpack
本身只能理解和处理 JavaScript 和 JSON。如果要处理其他类型的文件,需要使用 loader(加载器)的帮助。
对于任何类型的文件,可以只使用一个 loader 去处理,也可以使用多个 loader 去处理它。
示例:为 CSS 文件配置css-loader
和style-loader
learn_webpack/webpack.config.js
1 | module.exports = { |
注意:loader 的处理顺序:数组索引越高的 loader 越先执行
在这个例子中,webpack.config.js
告诉webpack
,如果遇到以.css
为结尾的文件,先调用css-loader
去转换它,css-loader
转换完以后,再调用style-loader
继续转换。
plugin
plugin(插件)的作用是打包优化、资源管理以及环境变量注入等。
和 loader 不同,plugin 需要使用require()
手动引入并添加到plugins
数组中。大多数 plugin 都可以通过选项进行自定义。开发者可以出于不同的目的多次使用 plugin,正因此,使用 plugin 时必须使用new
运算符创建实例。
示例:配置html-webpack-plugin
learn_webpack/webpack.config.js
1 | const HtmlWebpackPlugin = require('html-webpack-plugin'); |
mode
mode
(模式)。
不同模式下的webpack
行为会有差异。
mode
的取值范围:
development
production
,默认值none
示例:
learn_webpack/webpack.config.js
1 | module.exports = { |
兼容性
支持所有现代浏览器
对于部分浏览器,需要另行配置 polyfill
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/05/30/%E4%BB%80%E4%B9%88%E6%98%AFwebpack/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2019/05/30/%E4%BB%80%E4%B9%88%E6%98%AFwebpack/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。