Webpack Jest和Web包-意外的令牌导入

Webpack Jest和Web包-意外的令牌导入,webpack,jestjs,Webpack,Jestjs,我很难设置我的测试套件。我有一个React+Redux+Webpack项目,正在尝试添加笑话。我可以让测试运行,但是我无法将任何内容导入测试文件。例如,当尝试导入我的redux操作时,出现以下错误: /Users/nicholashaley/Desktop/Work/Ada/app/test/test.js:1 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,

我很难设置我的测试套件。我有一个React+Redux+Webpack项目,正在尝试添加笑话。我可以让测试运行,但是我无法将任何内容导入测试文件。例如,当尝试导入我的redux操作时,出现以下错误:

/Users/nicholashaley/Desktop/Work/Ada/app/test/test.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import * as actions from 'actions';
                                                                                             ^^^^^^
    SyntaxError: Unexpected token import
以及my package.json的相关部分:

{
“脚本”:{
“构建”:“网页包”,
“开始”:“网页包开发服务器--端口3001--内联--热”,
“构建暂存”:“webpack--config./webpack-staging.config.js”,
“构建产品”:“webpack--config./webpack production.config.js”,
“deploy”:“node deploy.js”,
“测试”:“玩笑”,
“测试:观察”:“npm测试----观察”
},
“依赖性”:{
“资产网页包插件”:“^3.5.0”,
“巴别塔核心”:“^6.14.0”,
“巴别塔笑话”:“^19.0.0”,
“巴别塔加载器”:“^6.2.9”,
“巴别塔polyfill”:“^6.23.0”,
“babel-preset-es2015”:“^6.24.1”,
“巴别塔预设反应”:“^6.24.1”,
“颜色”:“^1.1.2”,
“css加载器”:“^0.26.1”,
“提取文本网页包插件”:“^1.0.1”,
“文件加载器”:“^0.10.1”,
“笑话”:“^19.0.2”,
“节点sass”:“^3.4.2”,
“nodemon”:“^1.9.1”,
“反应热加载程序”:“^1.3.1”,
“递归读取目录”:“^2.0.0”,
“rimraf”:“^2.5.4”,
“sass加载程序”:“^4.0.2”,
“样式加载器”:“^0.13.1”,
“svg加载程序”:“0.0.2”,
“svg精灵加载程序”:“^0.3.0”,
“svg url加载程序”:“^1.1.0”,
“丑陋的js”:“^2.7.3”,
“丑八怪”:“0.0.21”,
“网页包”:“^1.14.0”,
网页包开发服务器“^1.16.3”
}
}
更新

我添加了一个
.babelrc
文件,其中包含
{“预设”:[“es2015”,“react”]}
,导入现在正在工作。但我不完全理解为什么(特别是考虑到以前进口是在源代码中工作的)


此外,我依赖于我的项目中的路径别名(如我的webpack配置中定义的),测试文件似乎不尊重这些别名。

如果加载程序不工作,您的webpack.config.js就会一团糟,因为如果您的webpack配置设置为正确使用babel加载程序,您就不需要.babelrc文件。下面是一个最简单的例子,说明了如何在不使用.babelrc文件的情况下使用Webpack加载模块。。。正如你所看到的,我使用的是巴别塔预设的最新软件包

module: {
      rules: [
          {
              loader: "babel-loader",
              options: {
                  presets: ["latest"]
              }
          }
      ]
  }

除了开玩笑的测试外,我的装载机工作正常。包含.babelrc文件似乎绕过了
import
这个问题,尽管还不完全确定原因。我已经尝试实现了上面的内容(或者至少是Webpack1的等效内容),并省略了.babelrc文件,但仍然没有成功。我倾向于认为问题具体在于Jest配置。根据Jest文档,Jest需要一个.babelrc文件,“别忘了在项目的根文件夹中添加一个.babelrc文件。”