2017-07-24 58 views
0

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支持?

回答

0

Tabris.js使用Node.js兼容模块系统来允许在您的应用程序中使用npm上托管的模块。但是,它并未实现大部分Node.js APIs

一些基本的APIs如TimerConsole可用。除此之外,tabris-js-node module还支持一小部分Node API。不幸的是,Node.js的网络API(dgram就是其中之一)并未在Tabris.js中实现。

这排除了构建在这些API上的npm插件。您必须在Tabris API之上实现此功能,例如fetch or websockets

+0

这是一些工作。这将是艰难的旅程。 – arjun