Webpack5入门到原理12:处理 Html 资源

这篇具有很好参考价值的文章主要介绍了Webpack5入门到原理12:处理 Html 资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 下载包

npm i html-webpack-plugin -D

2. 配置

webpack.config.js

const path = require("path");
const ESLintWebpackPlugin = require("eslint-webpack-plugin");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "static/js/main.js", // 将 js 文件输出到 static/js 目录中
    clean: true, // 自动将上次打包目录资源清空
  },
  module: {
    rules: [
      {
        // 用来匹配 .css 结尾的文件
        test: /\.css$/,
        // use 数组里面 Loader 执行顺序是从右到左
        use: ["style-loader", "css-loader"],
      },
      {
        test: /\.less$/,
        use: ["style-loader", "css-loader", "less-loader"],
      },
      {
        test: /\.s[ac]ss$/,
        use: ["style-loader", "css-loader", "sass-loader"],
      },
      {
        test: /\.styl$/,
        use: ["style-loader", "css-loader", "stylus-loader"],
      },
      {
        test: /\.(png|jpe?g|gif|webp)$/,
        type: "asset",
        parser: {
          dataUrlCondition: {
            maxSize: 10 * 1024, // 小于10kb的图片会被base64处理
          },
        },
        generator: {
          // 将图片文件输出到 static/imgs 目录中
          // 将图片文件命名 [hash:8][ext][query]
          // [hash:8]: hash值取8位
          // [ext]: 使用之前的文件扩展名
          // [query]: 添加之前的query参数
          filename: "static/imgs/[hash:8][ext][query]",
        },
      },
      {
        test: /\.(ttf|woff2?)$/,
        type: "asset/resource",
        generator: {
          filename: "static/media/[hash:8][ext][query]",
        },
      },
      {
        test: /\.js$/,
        exclude: /node_modules/, // 排除node_modules代码不编译
        loader: "babel-loader",
      },
    ],
  },
  plugins: [
    new ESLintWebpackPlugin({
      // 指定检查文件的根目录
      context: path.resolve(__dirname, "src"),
    }),
    new HtmlWebpackPlugin({
      // 以 public/index.html 为模板创建文件
      // 新的html文件有两个特点:1. 内容和源文件一致 2. 自动引入打包生成的js等资源
      template: path.resolve(__dirname, "public/index.html"),
    }),
  ],
  mode: "development",
};

3. 修改 index.html

去掉引入的 js 文件,因为 HtmlWebpackPlugin 会自动引入

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>webpack5</title>
  </head>
  <body>
    <h1>Hello Webpack5</h1>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <div class="box4"></div>
    <div class="box5"></div>
    <i class="iconfont icon-arrow-down"></i>
    <i class="iconfont icon-ashbin"></i>
    <i class="iconfont icon-browse"></i>
  </body>
</html>

4. 运行指令

npx webpack

此时 dist 目录就会输出一个 index.html 文件文章来源地址https://www.toymoban.com/news/detail-819320.html

到了这里,关于Webpack5入门到原理12:处理 Html 资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【快速搞定Webpack5】处理样式资源(三)

    本次内容我们将学习使用 webpack 如何处理 css、less、sass、scss 等样式资源 webpack 本身是不能识别样式资源的,所以我们需要借助 loader 包来帮助 webpack 解析样式资源 我们找loader都应该去官方文档中查找对应的 loader ,然后学习使用。 官方文档找不到的话,可以从社区、 GitHub

    2024年02月22日
    浏览(43)
  • webpack5基础--08_处理字体图标资源

    打开阿里巴巴矢量图标库 选择想要的图标添加到购物车,统一下载到本地 src/fonts/iconfont.ttf src/fonts/iconfont.woff src/fonts/iconfont.woff2 src/css/iconfont.css 注意字体文件路径需要修改 src/main.js public/index.html type: \\\"asset/resource\\\" 和 type: \\\"asset\\\" 的区别: type: \\\"asset/resource\\\" 相当于 file-loader , 将

    2024年03月10日
    浏览(91)
  • 【快速搞定Webpack5】处理字体图标资源(六)

    在实际开发中,几乎每个项目都需要用户 icon 图标以及部分项目会用到有特色的字体需求。 今天我们学习的内容就是如何在 webpack 中处理字体及 icon 图标的使用。 1、打开 阿里巴巴矢量图库 2、登录或注册账号 3、选择想要的图标添加到购物车,统一下载到本地 ● src/fonts/i

    2024年02月22日
    浏览(51)
  • 【快速搞定Webpack5】处理图片资源(四)

    过去在 webpack4 中,我们处理图片资源通过file-loader和url-loader进行处理 现在 webpack5 已经将两个loader功能内置到webpack中了,我们只需要简单配置即可处理图片资源。 1、配置 新增37-38行配置 2、添加图片资源 src/images/1.jpg src/images/2.jpeg 3、使用图片资源 src/css/index.css src/less/index

    2024年02月22日
    浏览(51)
  • Webpack5入门到原理

    尚硅谷Webpack5新版视频教程 B站直达:https://www.bilibili.com/video/BV14T4y1z7sw 百度网盘:https://pan.baidu.com/s/114lJRGua2uHBdLq_iVLOOQ 提取码:yyds 阿里云盘:https://www.aliyundrive.com/s/UMkmCzdWsGh(教程配套资料请从百度网盘下载) 围观尚硅谷前端课程:http://www.atguigu.com/web 更多尚硅谷视频教程

    2024年02月09日
    浏览(50)
  • Webpack5入门到原理1:前言

    开发时,我们会使用框架(React、Vue),ES6 模块化语法,Less/Sass 等 css 预处理器等语法进行开发。 这样的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、Css 等语法,才能运行。 所以我们需要打包工具帮我们做完这些事。 除此之外,打包工具还能压缩代码、做兼容

    2024年01月20日
    浏览(50)
  • Webpack5入门到原理17:Loader 原理

    帮助 webpack 将不同类型的文件转换为 webpack 可识别的模块。 分类 pre: 前置 loader normal: 普通 loader inline: 内联 loader post: 后置 loader 执行顺序 4 类 loader 的执行优级为:pre normal inline post 。 相同优先级的 loader 执行顺序为:从右到左,从下到上。 例如: 使用 loader 的方式 配

    2024年01月22日
    浏览(63)
  • Webpack5入门到原理18:Plugin 原理

    通过插件我们可以扩展 webpack,加入自定义的构建行为,使 webpack 可以执行更广泛的任务,拥有更强的构建能力。 webpack 就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生产线上的每个处理流程的职责都是单一的,多个流程之间有存在依赖关系

    2024年01月22日
    浏览(44)
  • Webpack5入门到原理2:基本使用

    Webpack 是一个静态资源打包工具。 它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。 输出的文件就是编译好的文件,就可以在浏览器段运行了。 我们将 Webpack 输出的文件叫做 bundle。 Webpack 本身功能是有限的: 开发模式:

    2024年01月22日
    浏览(42)
  • Webpack5入门到原理21:提升开发体验

    开发时我们运行的代码是经过 webpack 编译后的,例如下面这个样子: 所有 css 和 js 合并成了一个文件,并且多了其他代码。此时如果代码运行出错那么提示代码错误位置我们是看不懂的。一旦将来开发代码文件很多,那么很难去发现错误出现在哪里。 所以我们需要更加准确

    2024年01月25日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包