在create-react-app中进行测试时出现“Unexpected token import”错误

3
在我的项目文件夹中运行npm test时,我收到一个错误消息,说“unexpected token import”。 由于我正在使用create-react-app,我认为我不必配置任何内容,因为一切都应该开箱即用。
我不明白是我哪里犯了错误还是create-react-app的问题。
3个回答

2

这不是create-react-app的问题。

我的代码放在src/node_modules文件夹中,由于它排除了node_modules,因此未被babel转换。


我遇到了同样的问题/解决方案。我的“node_modules”包含一个使用ES6编写但未编译的依赖项。我以为通过babel install会处理它,但是“create-react-app”不会在“node_modules”上运行babel / webpack。 - Alex Johnson

1

对于从Google搜索到这个问题的任何人:

错误unexpected token import通常表明解析您的ES6代码时出现了问题,因为import不是早期版本中的功能。通常,像Chrome这样的浏览器会运行ES6,但在运行测试时会遇到错误。因此,在使用create-react-app运行yarn test时,会暴露出此错误。

即时解决方案是查看babel如何编译您的ES6代码。在上面的示例中,create-react-app已包含webpack和babel。但是,它们假设您的node_modules已经编译,并且在编译过程中跳过了这些内容。因此,即使您的项目中有babel,也不会出于某种原因编译所有ES6

如果您正在使用不带webpack / babel预设置的其他项目,或者编写了自定义设置以进行babel,则应首先进行调查。


0

我认为这是因为你的 Babel 配置不正确。


我不需要配置Babel。这就是使用create-react-app的全部意义。 - sidoshi
你使用什么操作系统? - Bowen Li
Linux Debian. 它有什么关联? - sidoshi
如果是类似Linux的操作系统,理论上不应该有任何问题。 - Bowen Li

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