当前位置: 首页 > news >正文

网站建设图文教程下载百度app到桌面

网站建设图文教程,下载百度app到桌面,网址升级中,网站建设服务合同交印花税Webpack5 环境下 Openlayers 标注(Icon) require 引入图片问题环境版本Openlayers 使用 require 问题Webpack5 正确配置构建新环境的时候,偶然发现 Openlayers 使用 require 的方式加载图片(Icon)报错,开始…

Webpack5 环境下 Openlayers 标注(Icon) require 引入图片问题

    • 环境版本
    • Openlayers 使用 require 问题
    • Webpack5 正确配置

构建新环境的时候,偶然发现 Openlayers 使用 require 的方式加载图片(Icon)报错,开始以为是 Openlayers 版本问题,后来经过尝试,

发现是 webpack 配置问题:在 Webpack5 环境下,使用了 Webpack4 的配置方式

本文包括 环境版本、Openlayers 使用 require 问题、Webpack5 正确配置三部分


环境版本

node 版本:v16.16.0

npm 版本:8.17.0

在这里插入图片描述
webpack 版本:5.74.0

Openlayers 版本:7.2.2

谷歌版本:109.0.5414.75

在这里插入图片描述


Openlayers 使用 require 问题

本文尝试了三个主要版本:7.2.2、6.15.1、5.3.3,错误原因一致,但是提示略有不同。

1. 使用 require 加载图片代码:

const iconStyle = new Style({image: new Icon({anchor: [0.5, 46],anchorXUnits: 'fraction',anchorYUnits: 'pixels',src: require('./assets/image/cluster/mark_red.png')}),
});

2. 错误信息

7.2.2 版本 虽然报错,但是提示不明确,大概意思是 src 不能为空。

在这里插入图片描述
在这里插入图片描述

6.15.1 版本 给出了明确的错误原因,可以 查看错误详情

在这里插入图片描述
在这里插入图片描述

5.3.3 版本 给出了错误网址,但是无法访问。

在这里插入图片描述
3. 通过代码解决问题

通过 console 输出查看,发现 require 为对象,并不是 base64 字符。因此,只要获取 base64 即可。

const iconStyle = new Style({image: new Icon({anchor: [0.5, 46],anchorXUnits: 'fraction',anchorYUnits: 'pixels',src: require('./assets/image/cluster/mark_red.png').default}),
});

在这里插入图片描述
在这里插入图片描述


Webpack5 正确配置

1. 在 Webpack5 环境下使用 Webpack4 的配置

{test: /\.(png)|(jpg)|(gif)|(woff)|(svg)|(eot)|(ttf)$/,// test: /\.(png)|(jpg)|(gif)|(woff)|(eot)|(ttf)$/,use: [{loader: "url-loader",options: {limit: 50000,   //小于50K的 都打包name: "[hash:8].[name].[ext]",publicPath: "layui-src/img/",	//替换CSS引用的图片路径 可以替换成爱拍云上的路径outputPath: "layui-src/img/"		//生成之后存放的路径}}]
}

在这里插入图片描述
在这里插入图片描述
通过查看 require 输出,可以得知 require 获得的是 module 对象,需要获取 default 的 base64 字符才能正常使用。

2. Webpack5 环境下使用 Webpack5 的配置

{test: /\.(jpe?g|png|svg|gif)/i,type: 'asset',generator: {filename: 'img/[hash][ext][query]' // 局部指定输出位置},parser: {dataUrlCondition: {maxSize: 8 * 1024 // 限制于 8kb}}
}

在这里插入图片描述

在这里插入图片描述
通过查看 require 输出,可以得知 require 获得到的就是 base64 字符,直接使用即可。
在这里插入图片描述



参考博客:

webpack5 的使用(四):加载资源文件
Webpack 5 - Asset Modules
【记录1】Vue+OpenLayers 图片标注不显示问题

http://www.yidumall.com/news/27320.html

相关文章:

  • 青海省高速公路建设管理局网站seo百度站长工具查询
  • 做珠宝网站代写文章价格表
  • 临朐做网站推广教程
  • 网站建设技术参数黑锋网seo
  • 想攻击一个网站怎么做嘉兴网络推广
  • 小店网站怎么做百度竞价托管一月多少钱
  • 广州网站建设海珠新科seo分析师
  • 什么网站可以做效果图信息流广告投放
  • 国家对于学校网站建设百度指数查询
  • 长春网络公司排名榜荆门网站seo
  • 用tomcat做网站商品营销推广的方法有哪些
  • 400电话网站模板北京seo招聘网
  • 手机可以开发软件吗山西seo谷歌关键词优化工具
  • 崇义网站建设手机百度2020最新版
  • 凡科网做网站教程网络营销专家
  • vvv wordpressseo站长优化工具
  • 做视频在哪个网站找素材seo外包公司如何优化
  • 怎么组建企业网站培训学校机构
  • 缩短链接网站有免费推广平台
  • 网址在线生成短链接seo收索引擎优化
  • 宿迁网站建设想做游戏推广怎么找游戏公司
  • 手机网站的好外提高工作效率总结心得
  • 多媒体网站开发实战seo网络推广软件
  • 湘潭本地的网站建设公司疫情二十条优化措施
  • 网站开发助理是什么上饶seo博客
  • 做网站套路重庆关键词优化
  • wordpress 仿站命令汕头seo排名收费
  • 外包公司做的网站网络营销的常用方法
  • 苏州知名网站建设开发电商seo是指
  • 广州网站建设 骏域高质量软文