Reactjs 普通转换运行后如何转换模块
测试以玩笑的方式反应组件。其中一些组件使用OpenLayers(ol包v5.2.0)。在ol包v4中,我应用transformIgnorePatterns来转换ol包: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
"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
}