cesiumWorkerBootstrapper 在使用 RequireJS importScripts 时出错

Error in cesiumWorkerBootstrapper when it use RequireJS importScripts

我在将cesium 与openlayer 一起使用时遇到了问题。尝试显示 3D 地图时,出现以下错误:

Uncaught Error: importScripts failed for Workers/createVerticesFromQuantizedTerrainMesh at http://localhost:5866/Scripts/lib/openlayers/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js
http://requirejs.org/docs/errors.html#importscripts
    at makeError (cesiumWorkerBootstrapper.js:formatted:102)
    at Function.req.load (cesiumWorkerBootstrapper.js:formatted:805)
    at Object.load (cesiumWorkerBootstrapper.js:formatted:697)
    at b.load (cesiumWorkerBootstrapper.js:formatted:381)
    at b.fetch (cesiumWorkerBootstrapper.js:formatted:370)
    at b.check (cesiumWorkerBootstrapper.js:formatted:422)
    at b.enable (cesiumWorkerBootstrapper.js:formatted:519)
    at Object.enable (cesiumWorkerBootstrapper.js:formatted:649)
    at b.<anonymous> (cesiumWorkerBootstrapper.js:formatted:512)
    at cesiumWorkerBootstrapper.js:formatted:83

我使用的代码如下:

that.ol3d = new olcs.OLCesium({
                    map: that.map
                });

                scene = that.ol3d.getCesiumScene();

                Cesium.Ion.defaultAccessToken = 'my-token';
                scene.terrainProvider = new Cesium.CesiumTerrainProvider({
                    url: Cesium.IonResource.fromAssetId(1)
                });

然后:

if (that.ol3d) {
                that.ol3d.setEnabled(true);
                that.isActivate = true;
               }

Cesium 已下载到本地主机(位于我的 PC 上)。

研究问题,我发现异常发生在 cesiumWorkerBootstrapper.js 行 importScripts(i).

try {
    importScripts(i),
    e.completeLoad(t)
} catch (r) {
    e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + i, r, [t]))
}

有趣的是这段代码以前是有效的。现在停了。但是,如果我将铯连接到 ,系统又开始工作了。

如有任何帮助,我将不胜感激。

我找到了解决办法。问题是服务器正在返回一个带有错误响应 headers 的工作人员。 Content-Type 重要 "js; charset=UTF-8" 而不是 "javascript/application; charset=UTF-8"。我更改了服务器配置并且它起作用了。 enter image description here