2016-12-01 52 views
0

我在一個node.js服務器上測試了IBMIoTF,它運行良好。 IBMIoTF你可以在這裏找到:https://www.npmjs.com/package/ibmiotf如何在WebApplication中使用IBMIoTF for node.js?

現在我想用IBMIoTF在web應用和我注意到在文件中這個小注:https://www.npmjs.com/package/ibmiotf#load-the-library-in-browser

加載在瀏覽器 負載IOTF客戶端庫-bundle.js或dist目錄中的iotf-client-bundle-min.js

我也看了看http://browserify.org/,但我無法讓它工作。

它能夠加載庫在的index.html

<script src="libs/iotf/iotf-client-bundle.min.js"></script> 

,但我怎麼能角模塊中創建一個對象實例?

選項1

我不能夠使用需要web應用。

var config = { 
         "org": "THEORG", 
         "id": "IOT_WEB_APPLICATION", 
         "auth-key": "THEKEY", 
         "auth-token": "THETOKEN", 
         "type" : "shared" 
       }; 

var IotClient = require('ibmiotf'); 
var iotClient = new IotClient.IotfApplication(config); 

在這種情況下,我得到

angular.js:14110 ReferenceError: require is not defined 

選項2

我還試圖用一個對象,我在IOTF-client.js文件中找到。

module.exports = { 
    IotfDevice: _IotfDevice['default'], 
    IotfManagedDevice: _IotfManagedDevice['default'], 
    IotfGateway: _IotfGateway['default'], 
    IotfManagedGateway: _IotfManagedGateway['default'], 
    IotfApplication: _IotfApplication['default'] 
    }; 

並沒有在我的控制器這樣的實現:

var config = { 
       "org": "THEORG", 
       "id": "IOT_WEB_APPLICATION", 
       "auth-key": "THEKEY", 
       "auth-token": "THETOKEN", 
       "type" : "shared" 
      }; 
var iotClient = new IotfApplication(config); 

在這裏,我得到:

angular.js:14110 ReferenceError: IotfApplication is not defined 

這些選項沒有工作,但如何創建一個的實例IBMIoTF? 任何人都可以幫助我嗎?

回答

1

您需要browserify的ibmiotf爲您buildprocess的一部分:
在你的package.json 1.添加依賴於ibmiotf NPM
2.做npm install
3.添加腳本命令添加到您的package.json爲browserify /醜化這樣

"scripts": { 
"build": "browserify your.js | uglifyjs -m -c warnings=false > bundle.js" 
} 
  • npm build,這將產生具有所有JavaScript文件一個bundle.js和指定的依賴關係bundle.js

  • 將bundle.js包含在您的web html文件中。 ...<script src="bundle.js"></script>

  • 在「你的。JS」做這樣的事情

    var config = require(YOURCONFIG); var deviceType = "YOURDEVICETYPE"; var appClient = new client.IotfApplication(config); appClient.connect(); appClient.on("connect", function() { console.log("Connected"); appClient.subscribeToDeviceEvents(deviceType); }); appClient.on("deviceEvent", function (deviceType, deviceId, eventType, format, payload) { console.log("Device Event from :: "+deviceType+" : "+deviceId+" of event "+eventType+" with payload : "+payload); });

  • +0

    劉若英您好,感謝您的反饋意見。我做了一個基本的樣本這裏https://github.com/thomassuedbroecker/browserfied-ibmiotf-webapplication的斜網應用程序。關心托馬斯 –