cesiumlab / cesiumlab/XbsjEarthUI

如果我的es6 module里有用Cesium的地方怎么处理比较好呢?

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
documentation question
Dominant language
JavaScript
Stars
734
Forks
193
PR merge metrics
No merged PRs in 30d

Description

@vtxf 如果我的es6 module里有用Cesium的地方怎么处理比较好呢?module里cesium的解析是在XE.ready()之前的,那时候Cesium还是undefined。

![image](https://user-images.githubusercontent.com/13550568/69526263-c60cc400-0fa4-11ea-8ee1-b5cf5374d151.png)

如图所示,assets.js里用了Cesium,EarthComp.vue import了它。
main.js是在XE.ready()的resolve里打印的,这会Cesium才准备好。

我现在是把module都加了个init函数包起来,把cesium作为arg传进去的,但是感觉还是麻烦。请问有没有什么更好的解决方法?多谢

---

@skywalkershe
可以试试提前引入Cesium.js

![image](https://user-images.githubusercontent.com/13550568/69526301-d91f9400-0fa4-11ea-94ba-829a6022dce9.png)


---

skywalkershe 16:58:51
这样的话岂不是得加载两遍cesium

skywalkershe 16:59:13
earth里会加载一遍Cesium啊

vtxf 16:59:30
不会的,earth检测已加载Cesium,就不会再次加载

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading assets.js and EarthComp.vue to trace the ES6 module import, then inspect main.js and XE.ready() to compare module evaluation with Cesium.js availability. Review how Earth detects an existing Cesium load. Done means modules can use Cesium without wrapping each module in an init function or loading Cesium twice.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.