[英]Configuring StealJS loader to import openlayers 3 debug version
我正在使用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 config:
"npmIgnore": [
"openlayers"
],
"paths": {
"openlayers": "node_modules/openlayers/dist/ol-debug.js"
},
"meta": {
"openlayers": {
"format": "global"
}
},
沒有文件的調試版本,調試應用程序確實非常困難。 切換到調試版本會破壞所有小部件,因為ol.map現在需要成為ol.ol.map,因為ol嵌套在父對象中。
解決方案是添加一個導出屬性:
"meta": {
"openlayers": {
"format": "global",
"exports": "ol"
}
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.