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 にする必要があるためです。