Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 普通转换运行后如何转换模块_Reactjs_Babeljs_Openlayers_Jestjs_Babel Jest - Fatal编程技术网

Reactjs 普通转换运行后如何转换模块

Reactjs 普通转换运行后如何转换模块,reactjs,babeljs,openlayers,jestjs,babel-jest,Reactjs,Babeljs,Openlayers,Jestjs,Babel Jest,测试以玩笑的方式反应组件。其中一些组件使用OpenLayers(ol包v5.2.0)。在ol包v4中,我应用transformIgnorePatterns来转换ol包: "jest": { "transformIgnorePatterns": [ "node_modules/(?!(ol)/)" ], (...) } 现在,我在运行NODE\u ENV=test jest时遇到以下错误: (...) (...)/node_modules/ol/inde

测试以玩笑的方式反应组件。其中一些组件使用OpenLayers(ol包v5.2.0)。在ol包v4中,我应用transformIgnorePatterns来转换ol包:

"jest": {
    "transformIgnorePatterns": [
         "node_modules/(?!(ol)/)"
    ],
    (...)
}
现在,我在运行
NODE\u ENV=test jest
时遇到以下错误:

(...)
(...)/node_modules/ol/index.js:5
export {default as AssertionError} from './AssertionError.js';
^^^^^^

SyntaxError: Unexpected token export

  14 |     let map = new Map({
  15 |       layers: options.layers,
> 16 |       target: 'map',
     |           ^
  17 |       view: options.view,
  18 |       controls: options.controls
  19 |     });
我已在.babelrc中应用了以下预设和插件:

"presets": [
   ["@babel/preset-env", {
     "modules": false
    }
   ],
   "@babel/preset-react"
],
"plugins": [
    "lodash",
    ["@babel/plugin-transform-runtime", {
      "corejs": 2,
      "helpers": true,
      "regenerator": true,
      "useESModules": false
    }
  ],
  "@babel/plugin-transform-modules-commonjs",
  "@babel/transform-arrow-functions",
  "@babel/plugin-syntax-dynamic-import",
  "@babel/plugin-syntax-import-meta",
  ["@babel/plugin-proposal-class-properties", {"loose": false}],
  "@babel/plugin-proposal-json-strings"],
"env": {
    "production": {},
    "development": {},
    "test": {
      "presets": [
        ["@babel/preset-env"],
        "@babel/preset-react"
      ]
    }
  }
通过应用全局转换选项()cf构建应用程序时,解决了类似的问题。此问题线程:


我想对ol模块应用类似的转换,但不确定如何实现。用于解决此问题的transformIgnorePatterns cf.

如果我将.babelrc的内容放入项目根目录中的babel.config.js,则不再发生错误

module.exports = {
    (...)
};
比照

副作用-
TypeError:$export在加载通过browserify/babelify构建的包时不是一个函数,但我想这是一个配置问题

编辑:通过将插件“@babel/plugin transform runtime”的选项更改为:

cf.和安装@babel/runtime cf

module.exports = {
    (...)
};
{
  "corejs": false,
  "helpers": false,
  "regenerator": true,
  "useESModules": false
}