升级到Babel 7后出现错误

4

运行 npm start 时会抛出此错误。

/Users/Gabe/esports-calendar/node_modules/@babel/core/lib/config/config-descriptors.js:178
    throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`);
          ^

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Plugin/Preset files are not allowed to export objects, only functions. In /Users/Gabe/esports-calendar/node_modules/babel-preset-es2015-ie/index.js

@Peter 更新了 event.js 的其余部分 -- 在检查时出现了以下错误:https://puu.sh/DYR0P/e02013e65f.png - Scott Myers
@Peter,问题仍然存在。我收到了一个Autoprefixed警告,但这可能是问题的来源吗?:`将Autoprefixer浏览器选项替换为Browserslist配置。 在package.json或.browserslistrc文件中使用browserslist键。使用浏览器选项会导致一些错误。Browserslist配置可用于Babel、Autoprefixer、postcss-normalize和其他工具。如果您确实需要使用选项,请将其重命名为overrideBrowserslist。了解更多信息: https://github.com/browserslist/browserslist#readme https://twitter.com/browserslist` - Scott Myers
@Peter Razzle已更新至版本3.0.0。 - Scott Myers
2
好的,当你“升级到Babel 7”时,你具体做了什么? - Peter
@Peter 运行了 'npm audit fix --force',然后运行了 npx babel-upgrade。仍然存在一些破坏性变更的错误,所以我进行了修复。 - Scott Myers
显示剩余3条评论
1个回答

0

我建议您将此项目重置为运行npm audit fix --force之前的状态。假设您正在使用git进行版本控制,如果是这样,您可以运行git reset --hard将当前分支设置为最后一次提交。

原因是您尝试手动更新项目到babel 7。Razzle不是这样工作的;它的目标是通过从开发人员中删除某些责任来简化开发人员工具。

  1. 进入您的package.json文件并更改razzle的版本:
"devDependencies": {
  "razzle": "^3.0.0",
  etc...
}
  1. 删除你的 node_modules 目录。

  2. 执行 npm i 重新安装包。


我应该把这个添加到哪里,在 event.js 文件中替换 import 行吗?还是添加到 config 中?(抱歉,我刚接触这个) - Scott Myers
更改此内容会引发以下错误: `/Users/Gabe/esports-calendar/node_modules/@babel/parser/lib/index.js:6325 const err = new SyntaxError(message); ^模块构建失败(来自./node_modules/babel-loader/lib/index.js): SyntaxError:/Users/Gabe/esports-calendar/src/common/stores/event.js:未终止的字符串常量(5:24)` - Scott Myers
好的,我已经修正了语法,但是最初的错误仍然存在。有什么想法吗? - Scott Myers
2
您能否请在原帖中添加您升级的哪些软件包?我时间紧迫,提供的细节越多,我们解决这个问题的机会就越大。 - Peter
2
@ScottMyers 我不知道哪些错误被抛出了。此外,这个问题已经偏离了主题。请尝试更新您的原始问题以反映当前的问题。评论并不意味着要进行这么多来回的交流。 - Peter
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接