Как использовать IBMIoTF для node.js в веб-приложении?

Я протестировал IBMIoTF на сервере node.js, и он работал хорошо. IBMIoTF вы можете найти здесь: https://www.npmjs.com/package/ibmiotf

Теперь я хочу использовать IBMIoTF в веб-приложении и заметил эту небольшую заметку в документации: https://www.npmjs.com/package/ibmiotf

Загрузите библиотеку в браузер, загрузите iotf-client-bundle.js или iotf-client-bundle-min.js из каталога dist

Я также заглянул на http://browserify.org/, но не смог заставить его работать.

Умеет загружать библиотеку в index.html

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

, но как я могу создать экземпляр объекта в угловом модуле?

Опция 1

Я не могу использовать require в WebApplication.

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 ответ

Решение

Вам необходимо просмотреть ibmiotf как часть вашего процесса сборки:
1. в вашем package.json добавьте зависимость в ibmiotf npm
2. сделать npm install
3. добавьте команду сценария в ваш package.json для просмотра / просмотра следующим образом

"scripts": {
"build": "browserify your.js | uglifyjs -m -c warnings=false > bundle.js"
}
  1. делать npm build, это создаст bundle.js со всеми вашими файлами javascript и зависимостями, указанными в bundle.js

  2. Включите bundle.js в ваш веб-HTML-файл. ...<script src="bundle.js"></script>

  3. в "your.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); });

Другие вопросы по тегам