Closed Kyle-Ye closed 1 year ago
I tried to add one oneself. But failed due to some strange reason.
I download protobuf.min.js
from "https://cdn.jsdelivr.net/npm/protobufjs@7.X.X/dist/protobuf.min.js" and put it into packages folder in OKJSON scripts folder.
And write the following code on my OKJSON scripts
...
$include('protobuf.min');
function main(object) {
if (!(typeof object === 'string')) {
$alert.modal('Error', 'Please only run this plugin with single string object')
return
}
load("./idl/src/v1/lvideo_common.proto", function(err, root) {
// Logic
});
}
It just give me an error message saying "ReferenceError: Can't find variable: load". But it indeed was defined in the corresponding file.
I didn’t check for this myself. But I think you need to add
protobuf
or some other name space toload
function.
Regarding predefined packages, I don’t think it’s a good idea.
Regarding predefined packages, I don’t think it’s a good idea.
Got it. We already have https://docs.okjson.app/scripts/examples and https://github.com/anyboxhq/okjson-scripts. And I agree it's fine.
But one question left is that did you forget to set the permission of okjson-scripts repo to public? Looks like I can't access the repo or make a PR.
I didn’t check for this myself. But I think you need to add
protobuf
or some other name space toload
function.
It seems that this is a common front-end problem on protobuf.js
and has nothing to do with this app. I can use other packaged "xx.js" or "xx.min.js" normally.
The protobuf.js
I download use some "prelude" to wrap it. So it will be empty on the OKJSON script side.
https://cdn.jsdelivr.net/npm/protobufjs@7.2.3/dist/protobuf.js
Add some pre-defined plugin such as https://github.com/protobufjs/protobuf.js to support pb parsing.