当前位置 : 主页 > 网页制作 > Nodejs >

node.js app中的openlayers-3?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有兴趣在node.js应用程序中使用ol3(例如用于阅读Geo JSON的ol.format API).这是一个受支持的用例吗? 我问,因为它似乎只是运行npm install openlayers然后需要它. var ol3 = require(‘openlayers’)在寻
我有兴趣在node.js应用程序中使用ol3(例如用于阅读Geo JSON的ol.format API).这是一个受支持的用例吗?

我问,因为它似乎只是运行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上下文中使用OpenLayers 3(但是可以使用Browserify / WebPack供客户端使用)

您可以始终在Node中存根窗口和其他对象,但存根用于测试…
也可以使用PhantomJS(无头浏览器)运行OpenLayers 3.

我不知道OpenLayers是为浏览器以外的其他用途而设计的.

为了获得更多洞察力,您应该在OpenLayers 3 dev list上发布您的问题以进行确认.

不要完全复制StackOverflow问题!你最好问一下诸如“openlayers3是否只能在浏览器中使用?”因为OpenLayers开发列表实际上是开发人员问题,而不是现在的经典库使用/简单帮助.

网友评论