Как использовать 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"
}
делать
npm build
, это создаст bundle.js со всеми вашими файлами javascript и зависимостями, указанными в bundle.jsВключите bundle.js в ваш веб-HTML-файл.
...<script src="bundle.js"></script>
в "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); });