在 Codesandbox 中,为什么不能创建私有 class 字段? (Javascript)

In Codesandbox, Why cant you make private class fields? (Javascript)

问题

出于某种原因,每次我尝试在 Codesndbox 中创建私有 class 字段时,它都会显示:

`SyntaxError: /Binary.js: Unexpected character '#' (7:2)`

### SyntaxError ###
**/Binary.js: Unexpected character '#' (7:2)**

>#privateMethod() {...
 ^

我在 codesandbox 上的 MWE:https://codesandbox.io/s/question-private-fields-vxw1j?file=/package.json

怎么了!!!

额外数据

浏览器: Chrome

我想通了!

回答

  1. 打开沙盒

  2. 点击屏幕左侧的设置图标

  3. 向下滚动直到找到“.babelrc”文件并单击“创建”。 (你可能需要做一个Sandbox-Github Repo

  4. 现在关闭文件并单击页面图标返回文件浏览(在设置图标上方)

  5. 向下滚动直到找到“依赖项”window

  6. 转到搜索栏并将其复制并粘贴到其中 @babel/plugin-proposal-private-methods

  7. 完成后应该会出现一些选项,单击第一个

  8. 现在向上滚动并找到“.babelrc”文件并单击它

  9. 现在你应该看到一个 JSON 文件打开,向下滚动直到你看到这个:

"plugins": [
    "transform-runtime"
  ],
  1. 现在复制:
"plugins": [
    "transform-runtime",
    "@babel/plugin-proposal-private-methods"
  ],

并将其粘贴到插件数组的顶部。文件现在应该如下所示:

{
  "presets": [
    "env"
  ],
  "plugins": [
    "transform-runtime",
    "@babel/plugin-proposal-private-methods"
  ],
  "parserOpts": {
    "plugins": [
      "dynamicImport"
    ]
  }
}

现在它应该可以工作了!!