解决报错: SyntaxError: await is only valid in async functions and the top level bodies of modules

报错如下:

解决报错: SyntaxError: await is only valid in async functions and the top level bodies of modules_第1张图片

 原因:commonjs规范无法像ES模块直接使用顶层await,必须搭配async关键字使用

解决办法:将使用await的语句,用 (async () =>())() 的自执行函数包裹起来

(async () => {
  const config = {...}
  await esbuild.context(config);
})();

这里要注意: await语句中参数变量,也必须包裹在这个async自执行函数中,否则会报错:

“Make those call arguments start on line xxx”

你可能感兴趣的:(nodejs,commonjs,es6)