首页 > 解决方案 > Parcel 构建失败,显示 babel 错误“不要克隆评论...... } 无法克隆”

问题描述

尝试使用 parceljs 创建构建时出现以下错误。它在使用包裹创建构建时显示了一些 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" , node ^12.18.2 , "react": "15.4.2"。我的 react-entry 文件如下:

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'));
};

标签: node.jsreactjsyarnpkgparceljsbabel-core

解决方案


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


推荐阅读