1: 常见配置
1、文件打包的出口和入库
2、webpack如何开启一台服务
3、webpack如何打包图片,静态资源等
4、
安装
1 | npm i webpack webpack-cli -D |
- 入口文件 src/
- 出口 dist/
package.json
- scripts
1 | "test": "echo \"Error: no test specified\" && exit 1", |
webpack 配置 入 出口
1 | module.exports = { |
优化输出的文件名称,为了缓存 hash,自动引入到html 里面
1 | npm i -D html-webpack-plugin |
多入口文件
多入口文件如何开发
1 | plugins:[ |
如图
每次执行npm run build 会发现dist文件夹里会残留上次打包的文件,这里我们推荐一个plugin来帮我们在打包输出前清空文件夹clean-webpack-plugin,
1 | const {CleanWebpackPlugin} = require('clean-webpack-plugin') |
css 解析
要一些loader来解析我们的css文件
1 | npm i -D style-loader css-loader |
实现css3代码自动补全,也可以运用到sass、less
1、 display: flex;
1 | display: -webkit-box; |
这时候我们发现css通过style标签的方式添加到了html文件中,但是如果样式文件很多,全部添加到html中,难免显得混乱。这时候我们想用把css拆分出来用外链的形式引入css文件怎么做呢?
1 | npm i -D mini-css-extract-plugin |
图片
拆分多个css 【mini-css-extract-plugin会将所有的css样式合并为一个css文件】
1 | <!--npm i -D extract-text-webpack-plugin@next--> |
如图
打包 图片、字体、媒体、等文件
1、file-loader
2、url-loader
如图
babel 转义 js
为了使我们的js代码兼容更多的环境我们需要安装依赖
1 | npm i -D babel-loader @babel/preset-env @babel/core |
1 | // webpack.config.js |
如图
es6/7/8 语法转成es5,但是对新api并不会转换 例如(promise、Generator、Set、Maps、Proxy等)
1 | npm i @babel/polyfill |