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...<省略>... 无法克隆”的主要内容,如果未能解决你的问题,请参考以下文章