Jestjs ';意外的令牌导入';在CreateReact应用程序中测试时
当我在我的项目文件夹中运行npm测试时,我收到一条错误消息说Jestjs ';意外的令牌导入';在CreateReact应用程序中测试时,jestjs,create-react-app,Jestjs,Create React App,当我在我的项目文件夹中运行npm测试时,我收到一条错误消息说意外的令牌导入。 当我使用CreateReact应用程序时,我假设我不需要配置任何东西,因为一切都应该是开箱即用的 我不明白我是否在某个地方犯了错误,或者是create react应用程序问题。我认为这是因为您的巴别塔配置不正确 这不是create react app的问题 我把我的代码放在src/node_modules文件夹中,babel没有对其进行转换,因为它排除了node_modules对于任何从谷歌找到这个问题的人: 错误un
意外的令牌导入
。
当我使用CreateReact应用程序时,我假设我不需要配置任何东西,因为一切都应该是开箱即用的
我不明白我是否在某个地方犯了错误,或者是create react应用程序问题。我认为这是因为您的巴别塔配置不正确 这不是
create react app
的问题
我把我的代码放在
src/node_modules
文件夹中,babel没有对其进行转换,因为它排除了node_modules
对于任何从谷歌找到这个问题的人:
错误unexpected token import
通常是解析ES6代码时出错的标志,因为import
不是早期版本的功能。通常,诸如Chrome之类的浏览器会运行ES6,但在运行测试时会遇到错误。因此,使用create react app
运行warn test
将暴露此错误
直接的解决方案是看看babel是如何编译ES6代码的。在上面的示例中,create react app
附带了webpack和babel。但是,它们假定您的节点\ u模块已经编译,并且在编译过程中跳过了这一点。所以,即使您的项目中有babel,出于某种原因,它并没有编译所有ES6
如果您正在使用一个不同的项目,而该项目没有webpack/babel预设置,或者为babel编写了一个自定义设置,那么您应该首先进行调查 我不必配置巴贝尔。这就是使用create-react-app的全部意义。你使用什么操作系统?linux debian。它有什么关系呢?如果它是类似linux的操作系统,理论上应该不会有任何问题。我也有同样的问题/解决方案。我的node_modules
包含一个用ES6编写的依赖项,但没有编译。我以为babel安装会处理它,但是create-react-app
不会在node\u模块上运行babel/webpack
。