
HtmlWebpackPlugin
简化了 HTML 文件的创建,以便为你的 webpack 包提供服务。这对于那些文件名中包含哈希值,并且哈希值会随着每次编译而改变的 webpack 包特别有用。你可以让该插件为你生成一个 HTML 文件,使用 lodash 模板提供模板,或者使用你自己的 loader
使用
安装
npm i html-webpack-plugin -D
配置 webpack.config.js
...
plugins:[
new HtmlWebpackPlugin({
// 以 public/index.html 为模板创建文件
// 新的html文件有两个特点:1. 内容和源文件一致 2. 自动引入打包生成的js等资源
template: path.resolve(__dirname, "public/index.html"),
}),
]
整个
const path = require("path");
const ESLintPlugin = require('eslint-webpack-plugin');
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
//入口
entry: "./src/main.js",
//输出
output: {
//输出路径
//__dirname nodejs的变量,代表当前文件所在的文件夹目录
path: path.resolve(__dirname, "dist"), //绝对路径
//入口文件输出文件名
filename: "static/js/index.js",
clean:true,//自动清空上次打包的内容,原理,将path目录清空,再进行打包
},
//加载器
module: {
rules: [
//loader配置
{
test: /\.css$/i,
use: [
"style-loader", //将JS中的css通过创建style标签添加到html文件中生效
"css-loader", //将css自由编译成commonjs的模块到js中
],
},
{
test: /\.less$/i,
//loader:'xx' 只能使用1个loader
use: [
// compiles Less to CSS
'style-loader',
'css-loader',
'less-loader',
],
},
{
test: /\.s[ac]ss$/i,
use: [
// 将 JS 字符串生成为 style 节点
'style-loader',
// 将 CSS 转化成 CommonJS 模块
'css-loader',
// 将 Sass 编译成 CSS
'sass-loader',
],
},
{
test: /\.styl$/,
loader: "stylus-loader", // 将 Stylus 文件编译为 CSS
},
{
test:/\.(png|jp?g|gif|webp|svg)$/,
type:"asset",
parser:{
dataUrlCondition:{
//小于10kb的图片转base64
//有点,减少请求数量,缺点,体积会变大
maxSize:10*1024
}
},
generator: {
//hash:10 表示取hash前10位
filename: 'static/img/[hash:10][ext][query]'
}
}
,
//图标设置
{
test:/\.(ttf|woff2?)$/,
type:"asset/resource",
generator: {
//hash:10 表示取hash前10位
filename: 'static/font/[hash:10][ext][query]'
}
},
//视频文件
{
test:/\.(mp3|avi|mp4)$/,
type:"asset/resource",
generator: {
//hash:10 表示取hash前10位
filename: 'static/video/[hash:10][ext][query]'
}
},
//处理转换es6
{
test: /\.js$/,
exclude: /node_modules/, // 排除node_modules代码不编译
loader: "babel-loader",
},
]
},
//插件
plugins: [
//
new ESLintPlugin({
//检查目录下的文件
context:path.resolve(__dirname,"src")
}),
new HtmlWebpackPlugin({
// 以 public/index.html 为模板创建文件
// 新的html文件有两个特点:1. 内容和源文件一致 2. 自动引入打包生成的js等资源
template: path.resolve(__dirname, "public/index.html"),
}),
],
//模式
mode: "development"
}
版权提示
1.除了标识原创之外,其他可能来源于网友的分享,仅供学习使用2.如您发现侵犯了您的权利,请联系我们删除
3.转载必须带本文链接,否则你将侵权
4.关于会员或其发布的相关内容均由会员自行提供,会员依法应对其提供的任何信息承担全部责任,本站不对此承担任何法律责任
0 人点赞
评论区 (0)
最新视频教程
-
-
黑白课堂
- Laravel6 全套入门实战
- 4651 2
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4572 5
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4457 0
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4077 0
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4079 0
-
最新视频课程
-
Laravel 消息通知使用
黑白课堂
285530 03年前
-
ace.js 打造一款属于你的 Web 编辑器,入门文档。
黑白课堂
15297 04年前
-
Laravel 实现 RBAC 权限管理功能 Permission 包操作
黑白课堂
14136 05年前
-
微信小程序等比例图片压缩上传,100%可用,非官方压缩方法
黑白课堂
12180 14年前
-
宝塔面板强制绑定账号修改为不强制绑定方案
黑白课堂
11366 03年前
-
wap2App 入门讲解,100%速成,全面为你讲解。
黑白课堂
9211 04年前
-
Laravel 设置请求头 header 参数
黑白课堂
8328 03年前
-
Laravel 的 PhpSpreadsheet 包入门
黑白课堂
8325 04年前
-
Laravel 表格操作 Maatwebsite/Laravel-Excel 3.1 最新版本的操作指南
黑白课堂
8297 04年前
-
Linux 下如何监听我们的脚本是否掉线了
黑白课堂
7565 03年前
-
KongQi Laravel Admin2.0 文档安装
黑白课堂
3914 23年前
-
KongQi Laravel admin2.0 layui admin 版本序言
黑白课堂
3342 03年前
-
易语言入门拖入文件导入到超级列表框表格内
哪吒
8406 13年前
-
易语言入门易语言定时任务模块
哪吒
6491 03年前
-
postman 使用手册cookie 使用
哪吒
4975 03年前
-
谷歌浏览器插件教程proxy 代理
哪吒
4534 01年前
-
易语言入门判断文件夹是否存在的方法
哪吒
4255 02年前
-
易语言入门TAB 标签页制作
哪吒
4204 03年前
-
Visual Studio Code 入门和使用教程插件安装使用
哪吒
4135 13年前
-
Visual Studio Code 入门和使用教程安装下载
哪吒
4105 03年前
