Javascript SyntaxError:意外标记*

Javascript SyntaxError:意外标记*,javascript,node.js,import,Javascript,Node.js,Import,我想从模块BodyPix导入代码,但不断收到以下错误消息: import * as bodyPix from '@tensorflow-models/body-pix'; ^ SyntaxError: Unexpected token * at Module._compile (internal/modules/cjs/loader.js:718:23) at Object.Module._extensions..js (internal/modules/cjs/

我想从模块BodyPix导入代码,但不断收到以下错误消息:

import * as bodyPix from '@tensorflow-models/body-pix';
       ^

SyntaxError: Unexpected token *
    at Module._compile (internal/modules/cjs/loader.js:718:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:837:10)
    at internal/main/run_main_module.js:17:11

我尝试了不同的导入方法,但似乎没有任何效果。

CommonJS-风格的导入应该可以:

const bodyPix = require('@tensorflow-models/body-pix');

这是因为当前的Node.js不支持将
import*作为XXX
语法(至少在我的计算机上是
v10.15.3

要运行此不受支持的语句,您需要将Node.js文件与模块一起保存为
.mjs
扩展名,并按如下方式运行:


node——实验模块索引.mjs

node.js不支持此语法中的导入,请将带有模块的文件另存为
.mjs
扩展名 然后像这样跑

node --experimental-modules index.mjs
正如邵传奇所说
另一种选择是使用transpiler。它可以为您将现代JavaScript转换为旧版本。好的选项有TypeScript、Babel和Rollup

npm安装了该模块吗?您是否尝试
从“@tensorflow models/body pix”导入bodyPix?@shaochuancs在读取模块名称之前抛出错误。Node是否需要一些特殊步骤来启用ES2015模块导入/导出?