Javascript SyntaxError:意外标记*
我想从模块BodyPix导入代码,但不断收到以下错误消息: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/
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模块导入/导出?