首页 > 解决方案 > 此实验性语法需要启用以下解析器插件之一:'classPrivateProperties, classPrivateMethods'

问题描述

我正在尝试使用 parcel 捆绑我的 javascript 文件,一切正常,除了我在运行时遇到这个问题npm run start

@parcel/transformer-js: This experimental syntax requires enabling one of the following parser plugin(s): 'classPrivateProperties, classPrivateMethods'

经过一番谷歌搜索后,我发现我需要安装classPrivatePropertiesclassPrivateMethods所以我做了,但这里发生的同样问题是我的package.json文件

{
  "name": "starter",
  "version": "1.0.0",
  "description": "",
  "main": "index.html",
  "scripts": {
    "start": "parcel index.html",
    "build": "parcel build index.html"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/plugin-proposal-private-methods": "^7.13.0",
    "@babel/plugin-proposal-private-property-in-object": "^7.13.0",
    "@parcel/optimizer-cssnano": "^2.0.0-nightly.612",
    "@parcel/optimizer-htmlnano": "^2.0.0-nightly.612",
    "@parcel/packager-css": "^2.0.0-nightly.612",
    "@parcel/packager-html": "^2.0.0-nightly.612",
    "@parcel/transformer-css": "^2.0.0-nightly.612",
    "@parcel/transformer-html": "^2.0.0-nightly.612",
    "@parcel/transformer-postcss": "^2.0.0-nightly.612",
    "@parcel/transformer-posthtml": "^2.0.0-nightly.612",
    "@parcel/transformer-sass": "^2.0.0-nightly.612",
    "node": "^15.10.0",
    "parcel": "^2.0.0-beta.1",
    "postcss": "^8.2.6",
    "sass": "^1.26.10"
  },
  "dependencies": {
    "core-js": "^3.6.5",
    "fractional": "^1.0.0",
    "regenerator-runtime": "^0.13.7"
  },
  "plugins": [
    "@babel/plugin-proposal-private-methods",
    "@babel/plugin-proposal-private-property-in-object"
  ]
}

感谢您的帮助

标签: javascriptbabeljspackage.jsonparcel

解决方案


如果你在谈论 Parcel.js,你需要安装和配置一些 Babel 插件,以启用类私有属性和方法:

  1. 使用 NPM 安装此软件包:

    npm i @babel/plugin-proposal-private-methods @babel/plugin-proposal-class-properties

  2. 使用以下命令在项目的根文件夹中创建.babelrc文件:

    {
      "plugins": [
        "@babel/plugin-proposal-class-properties",
        "@babel/plugin-proposal-private-methods"
      ]
    }
  1. 再次运行包裹。

推荐阅读