Ich möchte eine JS-Bibliothek nehmen, die für Node.js entworfen und verpackt wurde und sie mit QML verwenden (speziell die ProtoBuf library). Die ProtoBuf-Bibliothek basiert auf der ByteBuffer library.Verwenden einer Node JS-Bibliothek mit QML
Ich bearbeitet bytebuffer.js
und protobuf.js
, um .pragma library
als erste Zeile hinzuzufügen. Dann in meinem .qml
ich habe:
import "qrc:/scripts/bytebuffer.js" as BB
import "qrc:/scripts/protobuf.js" as PB
Window {
Component.onCompleted: {
console.log('PB', PB);
console.log('func',PB.loadProtoFile);
for (var k in PB) console.log(k,typeof PB[k],PB[k]);
console.log('done!')
}
}
Der Ausgang ich sehe, ist:
qml: PB [object Object]
qml: func undefined
qml: done!
So wird QML Laden der protobuf Bibliothek in gewissem Sinne (und ich habe in dieser Bibliothek Debug-Nachrichten setzen und bestätigt, dass die generic loader läuft und ByteBuffer
finden kann, aber es ist kein Objekt mit der methods that I expect, wie loadProtoFile()
.
Wie komme ich an das ~ real ProtoBuf
Objekt, das die Bibliothek aussetzt? Oder wie soll ich die Bibliotheken ändern, um mit QML richtig zu arbeiten?