一。认识webpack
webpack是模块打包器
二。了解webpack原理和概念
1.树结构:在一个入口文件中引入所有资源,形成所有依赖关系图
2.模块:对于webpack来说,css文件,img,都是模块
3.chunk:打包过程中被操作的模块文件就是一个chunk。
4.bundel:bundel是最后打包的文件
三。webpack安装和体验
1.创建目录my-webpack
2.npm初始化操作,npm init -y
3.安装webpack,webpack-cli
4.webpack运行
四。webpack的5个核心概念
1.entry:指定入口文件
2.output:输出webpack打包后的位置及名字
3.loader:编译成webpack可识别的语言
4.plugins:插件
5.mode:模式,分为开发模式development和生产模式production
五。webpack初应用
const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
filename: 'build.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [{test:/\.css$/,use:['style-loader','css-loader']}],
{test:/\.scss$/,use:['style-loader','css-loader','sass-loader']}
},
plugins: [
new HtmlWebpackPlugin({
filename: "demo.html",
template: './src/index.html',
minify: {
collapseWhitespace: true,
removeComments: true
}
})
],
mode: 'production',
}
webpack打包html
*安装html-webpack-plugin插件
1.插件会生成一个空的html,并自动引入css和js
webpack打包css资源
* 需要使用npm下载安装两个loader完成打包
1.css-loader 的作用是处理css中的@import 和 url 这样的外部资源
2.style-loader 的作用是把样式插入到DOM中,方法是在head中插入一个style标签,并把样式写入这个标签的innerHTML中
webpack打包less和sass资源
1.Sass和Less都属于CSS预处理器,
2.Less需要npm下载less包和less-loader
3.Sass需要npm下载node-sass和sass-loader