顶级等待不适用于 Parcel

elm*_*lmi 6 javascript asynchronous parcel

当我在实时服务器插件(或编辑实时Webstorm IDE)await中运行顶级时,它可以正常工作;但是,当我使用.npx parcel index.html

未捕获的语法错误:await 仅在异步函数和模块的顶层主体中有效

const res =  await Promise.resolve('hi there');

console.log(res)
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <script type="module" defer src="script.js"></script>
    <title>parcel and top-level-await</title>
  </head>
  <body>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)
   {
  "devDependencies": {
    "parcel": "^2.2.1"
  },
  "name": "top-level-await",
  "version": "1.0.0",
  "main": "index.js",
  "author": "elmi-elmi",
  "license": "MIT"
}
Run Code Online (Sandbox Code Playgroud)

elm*_*lmi -1

我在阅读 Parcel Doc后找到了答案。

\n
    \n
  1. 阅读此处。使用<script type="module">元素来引用模块。

    \n
  2. \n
  3. 去除dist文件夹(如果存在),然后使用以下命令:

    \n
    \nnpx 地块构建索引.html\nnpx 地块索引.html\n
    \n
  4. \n
\n
\n

或者设置脚本来构建您的应用程序。您可以在这里阅读。

\n
\n

到目前为止,我们\xe2\x80\x99已经直接运行parcel CLI,但在文件中创建一些脚本package.json以使这更容易会很有用。

\n
\n
\nnpx parcel build index.html\nnpx parcel index.html\n
\n

现在使用这些命令:

\n

节点管理:

\n
\nnpm 运行构建\nnpm 运行启动\n
\n

纱:

\n
\nyarn 构建\nyarn 启动\n
\n
{\n  "name": "my-project",\n  "source": "src/index.html",\n  "scripts": {\n    "start": "parcel",\n    "build": "parcel build"\n  },\n  "devDependencies": {\n    "parcel": "latest"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\nnpm run build\nnpm run start\n
\n\n