【发布时间】:2018-09-27 03:42:35
【问题描述】:
所以我有一个使用 create-react-app 引导的项目,当尝试使用 react-scripts build 构建时,我收到以下错误输出:
Module build failed: Error: Plugin/Preset files are not allowed to export objects, only functions.
根据输出,错误来自node_modules/babel-preset-react-app/index.js,如下所示:
'use strict';
const create = require('./create');
var env = process.env.BABEL_ENV || process.env.NODE_ENV;
module.exports = create(env);
我正在使用 Babel 7 及以下是来自package.json 的相关依赖包列表:
"dependencies": {
...
"react": "^16.5.2",
"react-dom": "^16.4.0",
"react-loadable": "^5.4.0",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.5"
},
"devDependencies": {
"@babel/cli": "^7.1.0",
"@babel/core": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^9.0.0"
...
}
我的babel.config.js 如下:
module.exports({
presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-flow']
})
我已尽我所能通过互联网进行挖掘以尝试解决此问题。最终找到了许多与此类似的帖子,但是没有一个建议的解决方案对我有用。我在babel.config.js 中看到了一两个提到的包括@babel/preset-env 和@babel/preset-react 预设,我已经拥有了。希望社区有一些见解可以分享。
【问题讨论】:
-
如果这是在干净的
create-react-app安装上,那么这是在github.com/facebook/create-react-app/issues 上提出的问题。这也可能是第一个要问的地方,而不是 SO,因为创建 create-react-app 的人会在那里寻找问题/错误报告。 -
@Mike'Pomax'Kamermans 谢谢你的建议。我就是这样做的,并且能够解决我的问题。将在 SO 上发布答案,其中包含我在 GitHub 上与他们一起开始的问题线程的链接。在我与两位贡献者的谈话中,我发现了一些很好的信息。
-
旁注 - 您的
react和react-dom版本应该始终匹配。
标签: javascript reactjs babeljs create-react-app