我问,因为它似乎只是运行npm install openlayers然后需要它. var ol3 = require(‘openlayers’)在寻找window.navigation对象的geolocation属性的代码上失败,因为window.navigation在node.js环境中不存在
TypeError:不能使用’in’运算符在undefined中搜索’geolocation’
在/home/me/src/ol3/node_modules/openlayers/dist/ol.js:144:823
在OPENLAYERS(/home/me/src/ol3/node_modules/openlayers/dist/ol.js:9:22)
在对象. (/home/me/src/ol3/node_modules/openlayers/dist/ol.js:13:2)
在Module._compile(module.js:460:26)
在Object.Module._extensions..js(module.js:478:10)
在Module.load(module.js:355:32)
在Function.Module._load(module.js:310:12)
在Module.require(module.js:365:17)
at require(module.js:384:17)
您可以始终在Node中存根窗口和其他对象,但存根用于测试…
也可以使用PhantomJS(无头浏览器)运行OpenLayers 3.
我不知道OpenLayers是为浏览器以外的其他用途而设计的.
为了获得更多洞察力,您应该在OpenLayers 3 dev list上发布您的问题以进行确认.
不要完全复制StackOverflow问题!你最好问一下诸如“openlayers3是否只能在浏览器中使用?”因为OpenLayers开发列表实际上是开发人员问题,而不是现在的经典库使用/简单帮助.