我使用StealJS加载Open层库。它似乎是加载调试-未构建版本的第一层不同于构建的版本。
当使用构建的版本时,它正确工作并返回实际的ol对象。当使用调试版本时,它返回包含ol的包装器对象。这会中断对ol.map的所有调用,等等。
我正在像这样导入ol文件:
import ol from 'openlayers';这是使用chrome中的console.log返回的ol-调试器is对象:
{
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.map现在需要成为ol.ol.map,因为ol是嵌套在父对象中的。
发布于 2016-06-22 19:19:28
解决方案是添加一个导出属性:
"meta": {
"openlayers": {
"format": "global",
"exports": "ol"
}
},https://stackoverflow.com/questions/33440454
复制相似问题