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

佛山网站建设多少钱网盘搜索神器

佛山网站建设多少钱,网盘搜索神器,项目管理是做什么,wordpress项目管理插件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.mnyf.cn/news/38407.html

相关文章:

  • 株洲在线论坛伴你生活每一天seo销售话术开场白
  • 什么样的网站必须做备案岳阳网站建设推广
  • 网站SEM优化如何做媒体代发布
  • 东莞做网站公司有哪些泉州百度首页优化
  • 办公管理系统有哪些谷歌独立站seo
  • 做购彩网站是怎么盈利的seo排名赚钱
  • 建站abc论坛网络推广代理
  • wordpress自定义查询项seo自学教程推荐
  • 政府内网网站建设精准营销平台
  • 手机pc网站模板培训平台有哪些
  • 常州做网站建设网站seo诊断报告
  • 合肥的网站建设州营销方案100例
  • 旅游网站建设的目的谷歌竞价推广教程
  • tornado做网站网店运营培训哪里好
  • 做音乐创作的网站网络营销推广策划方案
  • 个人博客网宁波seo外包推广排名
  • 想开广告图文店在哪学开鲁网站seo
  • asp影视网站源码百度app下载链接
  • 建筑工程公司企业简介seo搜索引擎是什么
  • 金牌网站建设查看网站流量的工具
  • 分销网站开发深圳seo优化排名公司
  • 网站做留言板广告商对接平台
  • 扬州专业做网站seo零基础教学视频
  • 游戏网站的监管由谁来做新闻发布的网站
  • 怎样用网络挣钱天津seo渠道代理
  • 上海本地app有哪些免费seo公司
  • 公司网站开发有哪些怎么下载app到手机上
  • 网站怎么申请微信认证杭州网站设计
  • 网站后台登陆图片谷歌引擎搜索入口
  • css汽车网站怎样制作一个网页