JavaScript index.js .babelrc 错误“不要克隆注释 tha...<省略>... 无法克隆”

Posted

技术标签:

【中文标题】JavaScript index.js .babelrc 错误“不要克隆注释 tha...<省略>... 无法克隆”【英文标题】:JavaScript index.js .babelrc error "Do not clone comments tha...<omitted>... could not be cloned"JavaScript index.js .babelrc 错误“不要克隆注释 tha...<省略>... 无法克隆” 【发布时间】:2021-06-24 06:50:10 【问题描述】:

更新: 该错误似乎与我拥有的 .babelrc 文件有关:


    "presets": ["env", "react"],
    "plugins": ["transform-class-properties", "transform-object-rest-spread"]

当我删除这个文件时,错误消失了。

原帖:

我将 React 与 Parcel-bundler 一起使用。 首先,我遇到了一个问题,这与我的包裹版本和 @babel/preset-env 不兼容(无效版本:未定义)有关。

我通过在 package.json 文件中添加分辨率标签来强制使用不需要版本对象的以前版本的 Babel 来解决。 这工作,但现在我在构建客户端时收到以下错误

npm run clean && parcel build client/src/index.html --out-dir client/dist

.../client/src/index.js: 函数 __clone() var node2 = 新节点(); for (var key in this) // 不要克隆 cmets tha...omitted... 无法克隆。

...

在 Object.serialize (v8.js:202:7)

我在这里和谷歌搜索,但在任何地方都找不到这个错误。

知道那可能是什么吗?

作为参考,这里有一些 package.json 的摘录:

"dependencies": 
    "babel-core": "^6.26.3",
    "body-parser": "^1.18.3",
    "elliptic": "^6.4.1",
    "express": "^4.16.3",
    "hex-to-binary": "^1.0.1",
    "history": "^4.7.2",
    "npm-force-resolutions": "0.0.10",
    "parcel-bundler": "^1.10.3",
    "pubnub": "^4.21.6",
    "react": "^16.6.0",
    "react-bootstrap": "^0.32.4",
    "react-dom": "^16.6.0",
    "react-router-dom": "^4.3.1",
    "redis": "^2.8.0",
    "request": "^2.88.0",
    "uuid": "^3.3.2"
  ,
  "resolutions": 
    "@babel/preset-env": "7.13.8"
     

and 

"devDependencies": 
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "cross-env": "^5.2.0",
    "jest": "^23.6.0",
    "nodemon": "^1.18.4" 


  

【问题讨论】:

【参考方案1】:

谢谢。我整个周末都在尝试解决这个问题,只是删除了.babelrc,然后在运行'parcel index.html'后替换它,似乎已经修复了它。 Parcel 7+ 声称不再需要 babel 配置,因此在 .babelrc 中设置它可能会混淆初始克隆过程。

【讨论】:

【参考方案2】:

我已经能够解决以下相同的问题:

首先,像这样替换你的依赖项:

"babel-preset-env" -> "@babel/preset-env" "babel-preset-react" -> "@babel/preset-react" “babel-core”->“@babel/core”

在我的情况下,我将它们全部作为 devDependencies,我不知道这是否重要。但是,还要确保你的 .babelrc 看起来像这样:


  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    "transform-class-properties"
  ]

在我的环境中实施这些更改后,我在运行 Parcel 时不再收到错误消息。

【讨论】:

以上是关于JavaScript index.js .babelrc 错误“不要克隆注释 tha...<省略>... 无法克隆”的主要内容,如果未能解决你的问题,请参考以下文章

javascript index.js

javascript index.js

javascript index.js

javascript 应用-index.js

javascript index.js

javascript index.js