Parcel 构建失败,显示 babel 错误“Do not clone comments tha...<omitted>... } could not be cloned”

问题描述

当我尝试使用parceljs 创建构建时出现以下错误。它在使用 Parcel 创建构建时显示了一些 babel 文件

    yarn run v1.22.5
$ parcel build app.html -d static
?  /home/Documents/Client-Portal/react/react-entry.js: function __clone() {
    var node2 = new Node();
    for (var key in this) {
      // Do not clone comments tha...<omitted>... } Could not be cloned.
    var node2 = new Node();
    for (var key in this) {
      // Do not clone comments tha...<omitted>... } Could not be cloned.
    at Object.serialize (v8.js:268:7)
    at _default (/home/Documents/Client-Portal/node_modules/@babel/core/lib/transformation/util/clone-deep.js:16:30)
    at normalizefile (/home/Documents/Client-Portal/node_modules/@babel/core/lib/transformation/normalize-file.js:52:36)
    at normalizefile.next (<anonymous>)
    at run (/home/Documents/Client-Portal/node_modules/@babel/core/lib/transformation/index.js:31:50)
    at run.next (<anonymous>)
    at Function.<anonymous> (/home/Documents/Client-Portal/node_modules/@babel/core/lib/transform-ast.js:20:41)
    at Generator.next (<anonymous>)
    at evaluateSync (/home/Documents/Client-Portal/node_modules/gensync/index.js:251:28)
    at Function.sync (/home/Documents/Client-Portal/node_modules/gensync/index.js:89:14)
[1/4] Resolving packages...
error Command Failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command

我正在使用 babel-core "^6.18.2"parcel ^1.12.5"节点 ^12.18.2“反应”:“15.4.2”。 我的反应入口文件如下:

import AppRoutes from './components/app/AppRoutes';

// Legacy browser polyfills (e.g. IE 11)
import 'whatwg-fetch'; // Fetch polyfill
import Promise from 'promise-polyfill'; // Promise polyfill
if (!window.Promise) window.Promise = Promise;

// HTML Events for IE
if (navigator.userAgent.indexOf('MSIE') !== -1 
  || navigator.appVersion.indexOf('Trident/') > 0) {
    window.fireEvent = (e) => {
      let evt = document.createEvent("HTMLEvents");
      evt.initEvent(e,true,false);
      window.dispatchEvent(evt);
    }
} else {
  window.fireEvent = (e) => window.dispatchEvent(new Event(e));
}

// Custom Event polyfill
if (typeof window.CustomEvent !== "function") {
  function CustomEvent ( event,params ) {
    params = params || { bubbles: false,cancelable: false,detail: undefined };
    var evt = document.createEvent( 'CustomEvent' );
    evt.initCustomEvent( event,params.bubbles,params.cancelable,params.detail );
    return evt;
  }

  CustomEvent.prototype = window.Event.prototype;
  window.CustomEvent = CustomEvent;
}

window.onload = () => {
  ReactDOM.render(<AppRoutes/>,document.getElementById('main'));
};

解决方法

我已删除 .babelrc 文件,然后能够成功创建构建。