美文网首页webpack
webpck配置资源模块

webpck配置资源模块

作者: 前端mh | 来源:发表于2022-04-17 16:00 被阅读0次

介绍:

webpack为我们提供了4种资源模块类型,这些资源类型可以用于处理和打包一些资源文件,(如字体,图片)他们的介绍分别如下:

  • asset/resource 发送一个单独的文件并导出 URL。
  • asset/inline 导出一个资源的 data URI。
  • asset/source 导出资源的源代码。
  • asset 在导出一个 data URI 和发送一个单独的文件之间自动选择。

asset/resource 资源类型使用:

第一步:先在webpack.config.js文件中配置资源文件

module:{
    rules:[  //设置资源模块导出规则
      {
        test:/\.png$/,   
        type:"asset/resource",  //发送一个单独的文件并导出 URL
      },
  ]
}

第二步:在js中引入之前准备好的png资源图片,并将添加到页面上

// 引入图片资源
import imgSrc from "../assets/img-01.png";
//将图片资源添加到body中
const img = document.createElement("img");
img.src = imgSrc;
document.body.appendChild(img);

同时我们可以在module.rules中设置导出资源的路径及扩展名,我们也可以使用contenthash+ext的写法,contenthash会自动生成一个二进制的hash值,ext会自动生成编译后的扩展名。如下:

image.png

第三步:执行打包命令 npx webpack 并启动服务 npx webpack-dev-server,此时就可以在dist目录下看到打包好的png文件了。

image.png

asset/inline资源类型的使用:

第一步:同理在module.rules中配置资源类型

 {
        test:/\.jpeg$/,   
        type:"asset/inline", //导出一个资源的data URI
  },

第二步:引入准备好的资源文件,并将其添加到页面。

// 引入图片资源
import jpegSrc from "../assets/img-02.jpeg";

const img2 = document.createElement("img");
img2.style.cssText = "height:200px;width:200px";
img2.src = jpegSrc;
document.body.appendChild(img2);

第三步:执行打包命令,并启动服务,此时我们可以在页面上看到我们打包的 img-02.jpeg的图片,在dist目录下并没有img-02.jpeg的图片资源,这是由于使用asset/inline方式对资源进行打包,会生成一个base64编码后的data URL。具体在页面的展示如下:

image.png

asset/source资源类型的使用:

第一步:同理在module.rules中配置资源类型

{
        test:/\.txt$/,   
        type:"asset/source", //导出资源的源代码
},

第二步:引入准备好的资源文件,并将其添加到页面。

// 引入图片资源
import txtContent from "../assets/haha.txt"

const box = document.createElement('div')
box.style.cssText = 'height:200px;width:100px;background:red'
box.textContent = txtContent
document.body.appendChild(box)

第三步:执行打包命令,并启动服务,在dist目录下也并没有生成新的文件,在页面上可以看到我们打包好的文件,如下:

image.png

asset资源类型的使用:

第一步:同理在module.rules中配置资源类型

{
        test:/\.gif$/,
        type:'asset',  //在导出一个资源data URI和发送一个单独的文件并导出URL之间做选择
        parser:{
          dataUrlCondition:{
            maxSize:4*1024*1024
          }
        }
  },

第二步:引入准备好的资源文件,并将其添加到页面。

 // 引入图片资源
import gifSrc from '../assets/img-03.gif'

const img3 = document.createElement('img')
img3.src = gifSrc

第三步:asset,在导出base64的url和发送一个文件并导出url之间做选择,一般默认小于8k才会生成base64的链接,如果大于8k则会发送一个单独的文件并导出url。(这里的8k临界值是可以设置的,设置方式通过添加一个parser.dataUrlCondition.maxSise的值,如第一步)

相关文章

  • webpck配置资源模块

    介绍: webpack为我们提供了4种资源模块类型,这些资源类型可以用于处理和打包一些资源文件,(如字体,图片)他...

  • 使用webpck实现模块化打包

    如何使用webpck实现模块化打包 webpack作为模块打包工具,可以实现模块化代码打包的问题 对于有环境兼容问...

  • 九、资源加载服务模块

    结合文件读取,加载,解析模块的内容,可以做一个资源加载服务模块,可以加载配置文件,加载资源,加载场景等。

  • 如何提升Webpack构建速度

    通过externals配置来提取常用库利用DllPlugin和DllReferencePlugin预编译资源模块,...

  • Android 模块化/组件化

    项目例子 问题 解耦 模块间的通信 基础核心模块的构建 业务组件化 代码边界 资源合并 Arouter 配置 各个...

  • 防盗链

    nginx 防止网站资源被盗用模块 配置要点: [root@nginx-server ~]# vim /etc/n...

  • 前端资源通过中心Nginx统一访问可以转发到节点模块

    前端资源通过中心Nginx统一访问,节点模块相关资源需要在中心Nginx设置代理。中心Nginx相关配置如下: 节...

  • 展示HTML网页

    1.导入正则模块:re_path 2.settings配置静态资源 STATICFILES_DIRS = [os....

  • 人力资源六大模块的认识

    人力资源六大模块,分别是:人力资源规划,招聘与配置,培训与开发,绩效管理,薪酬福利管理,劳动关系管理。 人力资源规...

  • #婚礼管家#从人力资源角度定义婚礼管家

    #婚礼管家# 从人力资源角度定义婚礼管家 小公司HR:人力资源六大模块: 人力资源规划、招聘与配置、培训与开发、绩...

网友评论

    本文标题:webpck配置资源模块

    本文链接:https://www.haomeiwen.com/subject/gqpdertx.html