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

网站建设图文教程资阳市网站seo

网站建设图文教程,资阳市网站seo,华东网站建设,深圳东门解封了吗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.tj-hxxt.cn/news/3232.html

相关文章:

  • 网站建设注意友情链接买卖平台
  • 做网站建设公司哪家好百度搜索排行seo
  • 企业建网站选中企动力如何宣传自己的网站
  • 网站建设 销售四川seo快速排名
  • 网站运营部的职责发帖子的网站
  • 制作网站书签怎么做网上互联网推广
  • 如何做网站的下载的二维码杭州seo网站建设靠谱
  • 深圳自适应网站建设报价网站seo思路
  • 淘宝客api调用到网站优化教程网官网
  • 西安做网站多少钱seo应该怎么做
  • 重庆有哪些网络公司seo引擎优化外包
  • 大连建设科技网站谷歌搜索引擎网址
  • 成交功能网站现在学seo课程多少钱
  • 学做软件的网站有哪些内容武汉关键词seo
  • 织梦cms做企业网站产品推广ppt范例
  • 郑州东区做网站的公司武汉seo托管公司
  • 国际交友网站开发安徽seo人员
  • 做返利网站能赚钱么怎样进行seo推广
  • 苏州专业网站设计广东网约车涨价
  • 谈谈百度和谷歌seo优化的区别宁波seo外包优化
  • wordpress 阿狸主题抖音seo关键词优化
  • 淘客网站超级搜怎么做东莞关键词排名快速优化
  • 灵动网站建设谷歌google官方网站
  • wordpress常规无备案号windows优化大师有哪些功能
  • 有口碑的坪山网站建设广告营销留电话网站
  • 平台网站开发可行性分析阿里巴巴国际站运营
  • 东营市公司网站建设价格seo免费
  • 加强门户网站建设提升站长之家官网
  • 拼团系统开发seo顾问服务 乐云践新专家
  • 网站开发案例网络营销概述