gpt4 book ai didi

javascript - 从 babel-preset-react-app/index.js 获取 "Error: Plugin/Preset files are not allowed to export objects, only functions."

转载 作者:行者123 更新时间:2023-11-29 23:16:36 28 4
gpt4 key购买 nike

所以我有一个使用 create-react-app 引导的项目,当尝试使用 react-scripts build 构建时,我收到以下错误输出:

模块构建失败:错误:不允许插件/预设文件导出对象,只能导出函数。

根据输出,错误来自 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 预设我已经有了。希望社区有一些见解可以分享。

最佳答案

我在 GitHub 上发布了一个关于这个问题的问题线程,并通过与 Create React App 的两个贡献者合作解决了这个问题。关于使用 Create React App 时 Babel 的工作方式,一些重要的微妙之处引起了注意。我绝对建议那些遇到我在这里遇到的同样问题的人读一读这个对话。

https://github.com/facebook/create-react-app/issues/5135

对于那些使用 Create React App 的人,我要强调一件事:删除所有与 babel 相关的 devDependencies 并重新安装你的 node_modules。 Create React App 关心或查找模块中的.babelrcbabel.config.js 文件。它们是无用的(至少目前是这样,因为只有时间才能证明这种行为是否会发生变化)。如果这不起作用,则另外删除您的 package-lock.json 文件以及您的 node_modules 并重试。

我保留在我的包中的唯一 babel devDepdendency(这很可能对我的问题没有贡献)是 babel-eslint 因为我在我的程序中使用 ESLint项目。

关于javascript - 从 babel-preset-react-app/index.js 获取 "Error: Plugin/Preset files are not allowed to export objects, only functions.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52529099/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com