【问题标题】:SyntaxError: Unexpected token '*'. import call expects exactly one argument [Posenet]SyntaxError:意外的标记“*”。导入调用只需要一个参数 [Posenet]
【发布时间】:2020-10-27 10:03:29
【问题描述】:

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

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

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

我对 javascript 很陌生,因此非常感谢任何帮助。

【问题讨论】:

    标签: javascript html import


    【解决方案1】:

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

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

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

    【讨论】:

    • 我根据您提到的前 2 点修改了我的脚本,但现在我收到此错误:TypeError: Module specifier does not start with "/", "./", or ".. /"。
    • @VanyaA - 你需要让你的模块说明符以这些前缀之一开头(就像答案中的那个)。你不能只使用src="filename.js"type="module"。 (有一天,当导入地图建立时,您将能够,但不是现在。)
    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2022-10-25
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    相关资源
    最近更新 更多