TabrisJs与Upnp一起工作
问题描述:
Upnp看起来难以在TabrisJs中工作。
它在很大程度上支持节点包,但我发现与Upnp合作很困难。TabrisJs与Upnp一起工作
在的package.json我node-upnp-client
"dependencies": {
"tabris": "^2.0.0-rc2",
"moment": "~2.8.4",
"moment-timezone": "~0.2.5",
"android-versions": "1.1.0",
"node-mind": "1.0.1",
"node-ssdp": "3.2.1",
"node-upnp-client" : "0.0.2",
"node-ssdp-lite": "0.2.0"
},
在应用JS我已经初始化它作为
const upnpClient = require('node-upnp-client');
const cli = new upnpClient();
console.log(cli.searchDevices());
我首先得到
Could not load main module:
Reference error: process is not defined
现在,它指向这个行var path = process.env.SSDP_COV ? './lib-cov/' : './lib/'
,在node-ssdp/index.js
,^
我不知道为什么,但它在CLI中完美工作,但不在应用程序中。
需要node-ssdp
单独说,它无法加载dgram
,即使它是part of Node
而且我不知道,如果dgram
包是单独提供的。
如何纠正这些错误并在tabrisJs中获得Upnp支持?
答
Tabris.js使用Node.js兼容模块系统来允许在您的应用程序中使用npm上托管的模块。但是,它并未实现大部分Node.js APIs。
一些基本的APIs如Timer和Console可用。除此之外,tabris-js-node module还支持一小部分Node API。不幸的是,Node.js的网络API(dgram就是其中之一)并未在Tabris.js中实现。
这排除了构建在这些API上的npm插件。您必须在Tabris API之上实现此功能,例如fetch
or websockets
。
这是一些工作。这将是艰难的旅程。 – arjun