配置 StealJS 加载器以导入 openlayers 3 调试版本
Configuring StealJS loader to import openlayers 3 debug version
我正在使用 StealJS 加载 Openlayers 库。它似乎正在加载调试 - openlayers 的未构建版本与构建版本不同。
使用内置版本时,它可以正常工作,returns 实际的 ol 对象。使用调试版本时,它 returns 一个包含 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.map 现在需要变为 ol.ol.map 因为 ol 嵌套在父对象中。
解决方案是添加导出 属性:
"meta": {
"openlayers": {
"format": "global",
"exports": "ol"
}
},
我正在使用 StealJS 加载 Openlayers 库。它似乎正在加载调试 - openlayers 的未构建版本与构建版本不同。
使用内置版本时,它可以正常工作,returns 实际的 ol 对象。使用调试版本时,它 returns 一个包含 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.map 现在需要变为 ol.ol.map 因为 ol 嵌套在父对象中。
解决方案是添加导出 属性:
"meta": {
"openlayers": {
"format": "global",
"exports": "ol"
}
},