我想从模块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
我尝试了不同的导入方式,但似乎无济于事。
答案 0 :(得分:1)
CommonJS-样式导入应该起作用:
const bodyPix = require('@tensorflow-models/body-pix');
答案 1 :(得分:1)
那是因为当前的Node.js不支持import * as XXX
语法(至少在我的计算机上的v10.15.3
中)。
要运行此不受支持的语句,您需要将带有模块的Node.js文件保存为.mjs
扩展名,然后像这样运行它:
node --experimental-modules index.mjs
答案 2 :(得分:0)
Node.js不支持使用此语法导入,或者将带有模块的文件另存为.mjs
扩展名
并像这样运行
node --experimental-modules index.mjs
如邵传奇所说
或
另一种选择是使用编译器。它将为您将现代JavaScript转换为旧版本。好的选择是 TypeScript,Babel和汇总。