开玩笑的配置:node_modules中的ES6模块

时间:2020-01-24 13:11:21

标签: unit-testing vue.js jestjs

我正在研究Vue.js项目,我想添加有趣的配置以便添加单元测试

我的项目在gitlab中托管的package.json中具有依赖项:

idav-external-front": "git+ssh://{giturl}/external-front.git#{branch}

因此,当我运行npm install时,idav-external-front代码将放入我项目的node_modules中。

当我测试从idav-external-front导入模块的组件时,我的Jest配置不起作用。 =>例如,在我的单元测试中,如果ComponentA从idav-external-front导入模块,则从“ ./ComponentA.vue”一行导入ComponentA会导致SyntaxError。

问题是在我的node_modules / idav-external-front玩笑中看到 ES6代码,这使我的单元测试崩溃了:

SyntaxError: Unexpected identifier在线导入。

所以我试图像这样自定义我的jest.config.js:

transformIgnorePatterns: [
    "<rootDir>/node_modules/idav-external-front/"
],  

=>但这不起作用。

注意:有两个.babelrc:一个在我的项目中,另一个在idav-external-front项目中 这是我项目中的一个:

  "env": {
    "test": {
      "presets": [
        [
          "@babel/preset-env",
          {
            "modules": "cjs"
          }
        ]
      ],
      "plugins": [
        "transform-es2015-modules-commonjs",
        "syntax-dynamic-import"
      ]
    }
  }

和远程idav-external-front项目中的一个:

{
  "presets": [
    ["env", { "modules": false }],
    "stage-2",
    {
      "plugins": [
        "transform-runtime",
        "transform-es2015-modules-commonjs",
        "syntax-dynamic-import"
      ]
    }
  ]
}

你们碰巧有任何建议可以解决此错误吗?

0 个答案:

没有答案