Reactjs 使用Deck.GL作为外部网页包
我目前正在开发两个不同的React应用程序,它们使用Deck.GL渲染两个贴图,每个贴图具有不同类型的层。 当将它们作为独立的应用程序使用时,它们都可以完美地工作,但是,当这两个应用程序装载到同一父应用程序中时,我访问的第二个映射会崩溃(因为似乎加载了两次库) 鉴于此,我将Deck.GL添加到两个应用程序的Webpack外部,并向父应用程序添加了一个unpkg链接。但是,这会产生一个“无法解决'h3'”错误,因此我也将H3JS放在externals中,但它会在Deck.GL javascript中不断搜索它。 我的下一步是从@deck.gl/core、@deck.gl/react、@deck.gl/layers等导入,只加载需要的内容,但在@deck.gl/layers中搜索“luma”时,我遇到了类似的错误 那么,如何正确地将Deck.GL定义为外部网页包 编辑: 将deck.gl添加到外部时出现的错误: 无法从解析空说明符“h3” 导航到使用不同图层的第二个地图时出现的错误:Reactjs 使用Deck.GL作为外部网页包,reactjs,webpack,deck.gl,micro-frontend,h3,Reactjs,Webpack,Deck.gl,Micro Frontend,H3,我目前正在开发两个不同的React应用程序,它们使用Deck.GL渲染两个贴图,每个贴图具有不同类型的层。 当将它们作为独立的应用程序使用时,它们都可以完美地工作,但是,当这两个应用程序装载到同一父应用程序中时,我访问的第二个映射会崩溃(因为似乎加载了两次库) 鉴于此,我将Deck.GL添加到两个应用程序的Webpack外部,并向父应用程序添加了一个unpkg链接。但是,这会产生一个“无法解决'h3'”错误,因此我也将H3JS放在externals中,但它会在Deck.GL javascript
这个错误似乎是在使用角度路由在页面中导航时发生的,如果我使用simple
,它们工作得很好,因为它会重新加载整个页面,并且不会加载库的两个实例 该问题是由不正确的Web包外部配置和错误选择要从unpkg/JSDeliver导入的包引起的。如果有人遇到同样的问题,请访问Deck自己的网站:
config.externals = {
'highlight.js': 'hljs',
'h3-js': 'h3',
'deck.gl': 'deck',
'@deck.gl/aggregation-layers': 'deck',
'@deck.gl/core': 'deck',
'@deck.gl/extensions': 'deck',
'@deck.gl/geo-layers': 'deck',
'@deck.gl/layers': 'deck',
'@deck.gl/mesh-layers': 'deck',
'@loaders.gl/core': 'loaders',
'@luma.gl/core': 'luma',
'mapbox-gl': 'mapboxgl'
};
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.3.1/mapbox-gl.js'></script>
<script src="https://unpkg.com/h3-js"></script>
<script src="https://bundle.run/s2-geometry@1.2.10"></script>
<script src="https://unpkg.com/deck.gl@^8.0.0/dist.min.js"></script>