0

StealJS を使用して Openlayers ライブラリをロードしています。ビルドされたバージョンとは異なる方法で openlayers のデバッグ - ビルドされていないバージョンをロードしているようです。

ビルドされたバージョンを使用すると、正しく動作し、実際の ol オブジェクトが返されます。デバッグ バージョンを使用すると、ol を含むラッパー オブジェクトが返されます。これにより、ol.map などへのすべての呼び出しが中断されます。

次のように ol ファイルをインポートしています。

import ol from 'openlayers';

これは、chrome で console.log を使用して返される ol-debug.js オブジェクトです。

{
CLOSURE_NO_DEPS: true
COMPILED: false
goog: Object
module: undefined
ol: Object //this is the object I want
__proto__: Object
}

ビルドされたバージョンを使用すると、オブジェクトは、アニメーション、マップ、レイヤーなどを含む実際の ol オブジェクトです。

npm 構成の使用:

"npmIgnore": [
  "openlayers"
],
"paths": {
  "openlayers": "node_modules/openlayers/dist/ol-debug.js"
},
"meta": {
  "openlayers": {
    "format": "global"
  }
},

ファイルのデバッグ バージョンなしでアプリをデバッグするのは非常に困難です。また、デバッグ バージョンに切り替えると、すべてのウィジェットが壊れます。これは、ol が親オブジェクト内にネストされているため、ol.map を ol.ol.map にする必要があるためです。

4

1 に答える 1