webpack--处理资源

news2024/9/23 9:31:28

webpack.config.js中进行配置 

const path = require('path')
module.exports = {
  // 入口
  entry: './src/main.js',
  // 输出
  output: {
    // 文件的输出路径
    path: path.resolve(__dirname, 'dist'),
    // 入口文件打包输出的文件名
    filename: 'js/main.js',
    // 自动清空上次打包结果 原理:在打包前,将path整个目录内容清空 再进行打包
    clean: true,
  },
  // 加载器
  module: {
    rules: [
      // loader的配置
      // css-loader 处理css文件
      {
        test: /\.css$/, // 只检测xxx文件
        use: [
          // 执行顺序从右到左(从下到上)
          'style-loader', // 将js中css通过创建style标签的样式添加到html中生效
          'css-loader', // 将css资源编译成common.js的模块到js中
        ],
      },
      // less-loader 处理less文件
      {
        test: /\.less$/, // 只检测less文件
        use: ['style-loader', 'css-loader', 'less-loader'],
      },
      // sass-loader 处理scss文件
      {
        test: /\.s[ac]ss$/,
        use: [
          // 将 JS 字符串生成为 style 节点
          'style-loader',
          // 将 CSS 转化成 CommonJS 模块
          'css-loader',
          // 将 Sass 编译成 CSS
          'sass-loader',
        ],
      },
      // stylus-loader 处理styl文件
      {
        test: /\.styl$/,
        use: ['style-loader', 'css-loader', 'stylus-loader'], // 将styl文件编译为 CSS
      },
      // 处理图片
      {
        test: /\.(png|jpe?g|gif|webp|svg)$/,
        // 会转base64
        type: 'asset',
        parser: {
          dataUrlCondition: {
            // 小于10kb的图片转base64
            // 优点:减少请求数量 缺点:体积会更大
            maxSize: 10 * 1024, // 10kb,
          },
        },
        generator: {
          // hash:5 hash值取前5位数(打包后的图片名称)
          filename: 'images/[hash:5][ext][query]',
        },
      },
      // 处理字体文件
      {
        test: /\.(ttf|woff2?)$/,
        // 不会转base64
        type: 'asset/resource',
        generator: {
          filename: 'font/[hash:5][ext][query]',
        },
      },
      // 处理其他资源
      {
        test: /\.(mp3|mp4|avi)$/,
        // 不会转base64
        type: 'asset/resource',
        generator: {
          filename: 'media/[hash:5][ext][query]',
        },
      },
    ],
  },
  // 插件
  plugins: [
    // plugin的配置
  ],
  // 模式
  mode: 'development',
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2101342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring中基于redis stream 的消息队列实现方法

本文主要介绍了消息队列的概念性质和应用场景,介绍了kafka、rabbitMq常用消息队列中间件的应用模型及消息队列的实现方式,并实战了在Spring中基于redis stream 的消息队列实现方法。 一、消息队列 消息队列是一种进程间通信或者同一个进程中不同线程间的…

Netlify 为静态站点部署 Waline 评论系统

目录 1 准备工作2 简介2.1 Netlify2.2 Waline2.3 Leancloud 3 开始搭建3.1 Fork 仓库3.2 设置 Leancloud3.3 部署 Netlify3.4 查看评论系统 从我建成个人网站以来,一个月了,竟然还没配置过评论系统,一直用的别人的 awa。 那么今天就稍微研究…

B站up主全程教学趋动云部署大模型:Meta新开源【Llama3.1-70B-Instruct】!

Llama 3.1 的指令调优版本(8B、70B、405B)针对多语言对话用例进行了优化,在比8种支持语言更广泛的语言集合上进行了训练,预训练模型可以适应多种自然语言生成任务。 Llama 3.1 模型集合还支持利用其模型的输出来改进其他模型&…

基于yolov8的红绿灯目标检测训练与Streamlit部署(代码+教程)

项目背景 随着智能交通系统的快速发展,自动驾驶技术逐渐成为研究的热点。在自动驾驶领域中,准确识别道路上的交通信号灯是确保车辆安全行驶的关键技术之一。近年来,深度学习技术的发展为交通信号灯的识别提供了强大的支持。YOLO(…

云微客短视频矩阵系统,如何让企业赢在起跑线?

在这个信息爆炸的时代,传统的营销方式已经无法满足现代企业的快速发展的需求了。那么如何让企业的品牌和产品脱颖而出呢?云微客短视频矩阵系统,就是这样一个创新的解决方法。 但是很多企业认为,在这个短视频盛行的时代&#xff0c…

cr2怎么转换成jpg?分享这五款好用软件!

在数字摄影时代,CR2作为佳能相机常用的RAW格式,虽然能够保留更多的图像细节和色彩信息,但在日常分享和编辑中,JPG格式因其兼容性和便捷性而更受欢迎。今天,我们就来分享五款好用的软件,帮助你轻松将CR2格式…

数据中心代理IP的使用指南:提升网络体验的秘密武器

在互联网的广阔海洋中,数据中心代理IP是一种常见且实用的工具。无论是个人用户还是企业,使用数据中心代理IP都能带来诸多好处。本文将详细介绍数据中心代理IP的概念、优势以及使用技巧,让你在网络世界中游刃有余。 什么是数据中心代理IP&…

用自定义类级注解校验两字段不能同时为空

背景: 有下面这么一个类,要校验两字段query、image不能同时为空,应该怎么实现?已知的NotBlank等标签都只能检验单个字段。 import jakarta.validation.constraints.NotBlank; import lombok.Data; import org.springframework.h…

无人机之载重篇

无人机的载重能力是一个复杂且多样化的参数,它受到多种因素的影响,包括无人机的类型、设计、技术规格以及用途等。以下是对无人机载重能力的详细解析: 一、无人机载重能力的差异 无人机的载重能力差异很大,从几百克到几十千克不等…

全网都在学,2024最新大模型畅销的三本书!千言万语,尽在书中

哈咯各位,我们都知道2024年最火爆的技术非大模型莫属,而今天就给大家分享几本大模型方向2024年新出的书籍,主要分享这三本非常畅销的书----《Transformer自然语言处理实战》,《实战AI大模型》, 《精通Transformer&…

草原灭火车的功能与性能_鼎跃安全

在内蒙古的草原火灾中,水陆两栖全地形草原灭火车曾多次用于紧急救援。其强大的越野能力和高速反应,使其在广袤的草原上能够迅速到达火场,并使用集成的多功能灭火设备进行灭火作业,有效防止了火灾的进一步蔓延。 水陆两栖全地形草原…

SpringDataJPA系列(4)Repository 中的方法返回值使用

SpringDataJPA系列(4)Repository 中的方法返回值使用 Repository 返回结构有哪些? 打开 SimpleJpaRepository 直接看它的 Structure 就可以知道,它实现的方法,以及父类接口的方法和返回类型包括:Optional、Iterable、List、Page…

S-MLAG-简单跨设备链路聚合

资料: https://www.h3c.com/cn/Service/Document_Software/Document_Center/Home/Switches/00-Public/Configure/Practice/H3C_S_MLAG-BP_Long/#_Toc115363852https://www.h3c.com/cn/d_202010/1348323_30005_0.htm#_Toc53156759 S-MLAG概述 S-MLAG简介 通过S-M…

CSS 高级区块效果——WEB开发系列25

CSS提供了多种工具和属性,使我们能够创建视觉上引人注目的效果。今天我们继续将深入了解几种高级CSS效果:盒子阴影、滤镜、混合模式和文本背景裁剪,提升网页设计的质感和深度。 一、盒子阴影(Box Shadow) 对于盒子元素…

申请联通卡时,为什么需要上传身份证呢?

我们在后台收到了很多朋友的私信,除了咨询流量卡套餐方面的问题之外,也有不少朋友是咨询流量卡申请方面的问题,今天,小编就回答一个很有代表性的问题,为什么申请联通卡时要上传身份证信息,而其他的运营商就…

局域网IP地址老是冲突/环路?这个关键点绝对被你忽略了

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 在现代企业环境中,局域网(LAN)是支撑日常业务运营的关键基础设施之一。 但随着网络规模的不断扩…

12、Django Admin在列表视图页面上显示计算字段

两种方法: 注册模型有两种方式,需要首先添加或者修改admin中的注册模型如下方式 admin.register(Origin) class OriginAdmin(admin.ModelAdmin):list_display ("name",) 1、在models的模型类中添加函数 def hero_count(self,):return sel…

大学生就业必备的2款软件!助你轻松化身Offer收割机!

金秋九月,又是一年开学季,随之而来也有许多大学生要开始找工作,但现在的情况是,大部分岗位有很多人同时申请,要想从激烈的竞争中脱颖而出,少不了在求职的每一个环节上下功夫。 最受求职的企业注意的&#…

ubuntu linux搭建lvgl

记录一下ubuntu linux搭建 lvgl的过程 本地环境:ubuntu 16.04 ubuntu lvgl sdl2 1 获取源码 git clone https://github.com/lvgl/lv_port_linux.git cd lv_port_linux/ git submodule update --init --recursive查看分支: git branch -a 我选择的是9.2(master分支一直在变动…

DeepWalk【图神经网络论文精读】笔记

链接: DeepWalk【图神经网络论文精读】_哔哩哔哩_bilibili [内容总结::] - deep walk 解决图嵌入问题:将结点压缩成低维向量随机游走(类似NLP生成句子) 优点与缺点: 相关学习资料 - word2vec 开山必读论文 - DeepWalk 论文阅读 - 代…