在chrome扩展中包含第三方库后未定义变量



我正在尝试将posenet张量流模型添加到chrome扩展中。我从示例中复制了库:

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.11.7"></script>
<!-- Load Posenet -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/posenet@0.1.2"></script>

到我的扩展目录中一个名为"tensorflow"的文件夹。我在background.html文件中从本地导入了脚本

<html>
<video autoplay="true" id="webcamVideo" width="227" height="227"></video>
<script src="third_party/deeplearnjs/deeplearn.0.5.js"></script>
<script src="third_party/deeplearnjs/deeplearn_knn_image_classifier.0.4.2.js"> </script>
<script src="third_party/@tensorflow/tensorflow.js"></script>
<script src="third_party/@tensorflow-models/posenet.js"></script>
<script src="background.js"></script>
</html>

这似乎没有错误,我可以成功地在background.js中使用深度学习库中的对象。但当我尝试在background.js中使用posenet时,我得到的错误是没有定义posenet。

posenet.load().then(function(net){
return net.estimateSinglePose(imageElement, imageScaleFactor, flipHorizontal, outputStride)
}).then(function(pose){
console.log(pose);
})

我在React中成功地使用了posenet,但我很难让它在这个扩展中工作。我在这个工作流程中遗漏了什么吗?

似乎posenet中tensorflow的依赖项要求tensorflow库为@tensorflow/tfjs,所以我只是将文件重命名为tfjs.js,它就起了作用。

最新更新