首页 > 解决方案 > SyntaxError:意外的标记“*”。导入调用只需要一个参数 [Posenet]

问题描述

我正在尝试从 python http 服务器运行posenet,并在此行的camera.js 文件中遇到语法错误。

import * as posenet from '@tensorflow-models/posenet';

代码克隆自 GitHub 存储库:https ://github.com/tensorflow/tfjs-models/tree/master/posenet/demos

我对 javascript 很陌生,所以任何帮助都将不胜感激。

标签: javascripthtmlimport

解决方案


进口声明本身很好。我没有看到那个具体的错误,但它读起来就像在支持动态导入 ( import()) 的环境中遇到的那种错误,并且您尝试使用模块脚本,就好像它是一个非模块脚本一样。在非模块脚本中,import不是声明,因此 JavaScript 引擎(或解析脚本的任何东西)假定您正在尝试使用动态导入(因为与import声明不同,您可以在非模块脚本中使用动态导入)。

您还没有说明如何运行此脚本,但请确保您将其作为模块运行,而不是作为非模块脚本运行:

  • 在浏览器中,要么从另一个模块导入它,要么通过它运行它<script type="module" src="./your-file-name.js"></script>
  • 在 Node.js 中,确保package.json"type": "module"(或使用.mjs而不是.js在您的文件名上)。详情在这里
  • 如果使用捆绑器,请确保捆绑器知道出现该声明的脚本是模块脚本(您如何执行此操作将因捆绑器而异)。

推荐阅读