01 - webpack简介
02 - 安装使用 webpack
03 - 配置一些基础项 1)
const path = require('path')
module.exports = {
// mode: 'development', // 打包方式
mode: 'production', // 打包方式
entry: './src/js/main.js', // 入口
output: { // 出口
"path": path.join(__dirname, "webxlt"), // 绝对路径
"fileName": "webxlt.js"
}
}
03 - 打包的配置文件
03 - 简化打包命令
"scripts": {
"dev": "webpack --config webpack.dev.js",
"build": "webpack index.js",
"test": "echo "Error: no test specified" && exit 1"
}
在文件下的命令行 npm run dev 就可执行上述命令
03 - loader 介绍及使用
npm i css-loader style-loader -D 这两个包; less 则需要在下载一个: npm i less-loader -D; less-loader:用来加载less文件,并处理成css; css-loader:用来加载css文件; style-loader:用来将css代码以style标签的格式插入到html文件中; 修改图片的包: asset-module 一般来说现在的 webpack 已经支持 图片的打包之前的版本是不支持的; module: {
rules:[ // 规则
{
// 当遇到以 css 结尾的文件的时候就去找 css-loader 这个包
test: /\.css$/, // 正则测试
// 如果有多个 loader, 执行顺序是从右到左
// 先执行 css-loader ----> 在 style-loader
// css-loader 让 webpack 识别 css
// style-loader: 把 css 写在 style 标签中, html 才会有样式效果
use: ['style-loader','css-loader'] // loader
},
{
// 当遇到以 css 结尾的文件的时候就去找 css-loader 这个包
test: /\.less$/, // 正则测试
use: ['style-loader','css-loader','less-loader'] // loader
},
{
test: /\.(png|jpg|gif|jpeg)$/i, // 匹配图片文件
type: 'asset' // 在导出一个 data URI 和一个单独的文件之间自动选择
}
]
}
它是与打包方式、入口、出口的配置是同级的
03 - plugin 插件的介绍及使用
npm i html-webpack-plugin -Dconst HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({ // 打包输出HTML
minify: { // 压缩HTML文件
removeComments: true, // 移除HTML中的注释
collapseWhitespace: true, // 删除空白符与换行符
minifyCSS: true// 压缩内联css
},
filename: 'index.html', // 打包后生成的 html 文件名
template: path.resolve('./index.html') // 指定模块的位置
})
]
03 - webpack-dev-server webpack 实时打包工具
devServer: {
host: '127.0.0.1', // 配置启动ip地址
port: 10088, // 配置端口
open: true // 配置是否自动打开浏览器
}
在 package.json 加入一个配置项:
"scripts": {
"dev": "webpack-dev-server",
},