webpack中使用leaflet 时图标加载报错问题?
1 在webpack中使用leaflet添加marker 时,使用默认marker报错
转码后的base64图标 后会多出来默认 marker 名称
webpack.config.js 中的相关配置
resolve: {
alias: {
'@':path.resolve(__dirname, './src'),
leaflet_css: __dirname + "/node_modules/leaflet/dist/leaflet.css",
leaflet_marker: __dirname + "/node_modules/leaflet/dist/images/marker-icon.png",
leaflet_marker_2x: __dirname + "/node_modules/leaflet/dist/images/marker-icon-2x.png",
leaflet_marker_shadow: __dirname + "/node_modules/leaflet/dist/images/marker-shadow.png",
}
},
代码部分
import "leaflet_css";
import L from "leaflet";
(function(){
var map = L.map('map-osm-leaflet').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
L.marker([51.5, -0.09]).addTo(map)
.bindPopup('A pretty CSS3 popup.<br> Easily customizable.')
.openPopup();
})();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对我也是遇见这种问题了 自己项目中的默认icon就不可以使用 同样的错误不知道为什么自己项目中会变成base64,但是在官网上就会变成cdn,
后来的解决方法是手动引入leaflet的图标
目前是自己传入图标,不使用默认图标时可以正常使用