Javascript 这种实验性语法需要启用解析器插件:';exportDefaultFrom';

Javascript 这种实验性语法需要启用解析器插件:';exportDefaultFrom';,javascript,reactjs,facebook,jscodeshift,Javascript,Reactjs,Facebook,Jscodeshift,此实验语法需要启用解析器插件:“exportDefaultFrom” 我在尝试将整个应用程序从reactv15.6移动到v16.2时遇到了上述错误,方法是使用facebook上的迁移工具,比如jscodeshift从()转到Babel配置的“插件”部分以启用转换。我解决了这个问题 const parser = require('./src/parser'); const jscodeshift = require('jscodeshift').withParser(parser); ./src

此实验语法需要启用解析器插件:“exportDefaultFrom”


我在尝试将整个应用程序从react
v15.6
移动到
v16.2
时遇到了上述错误,方法是使用facebook上的迁移工具,比如
jscodeshift

从()转到Babel配置的“插件”部分以启用转换。

我解决了这个问题

const parser = require('./src/parser');
const jscodeshift = require('jscodeshift').withParser(parser);
./src/parser:

'use strict';

const babylon = require('babylon');

// These are the options that were the default of the Babel5 parse function
// see https://github.com/babel/babel/blob/5.x/packages/babel/src/api/node.js#L81

const options = {
  sourceType: 'module',
  allowHashBang: true,
  ecmaVersion: Infinity,
  allowImportExportEverywhere: true,
  allowReturnOutsideFunction: true,
  plugins: [
    'estree',
    'jsx',
    'asyncGenerators',
    'classProperties',
    'doExpressions',
    'exportExtensions',
    'functionBind',
    'functionSent',
    'objectRestSpread',
    'dynamicImport',
    'nullishCoalescingOperator',
    'optionalChaining',
    'exportDefaultFrom'
  ],
};

/**
 * Wrapper to set default options
 */
exports.parse = function parse (code) {
  return babylon.parse(code, options);
};

请将“exportDefaultFrom”添加到插件中。

这是一个已知的问题,您只需使用搜索引擎搜索问题的确切标题即可发现它!可能重复的