使用JSPM在JEST中加载本地模块

时间:2018-01-23 17:30:23

标签: reactjs jestjs systemjs jspm

我正在尝试在JSPM项目中使用jest。

我的jspm.config文件如下所示:

SystemJS.config({
  paths: {
      "npm:": "jspm_packages/npm/",
      "github:": "jspm_packages/github/",
      "moment": "scripts/vendor/moment/moment.min.js"
  }
});

在我的package.json中,我有以下JEST配置:

  "jest": {
    "verbose": true,
    "collectCoverage": true,
    "moduleNameMapper": {
      "^npm:(.*)": "<rootDir>/jspm_packages/npm/$1",
      "^github:(.*)": "<rootDir>/jspm_packages/github/$1",
      "moment": "<rootDir>/public/scripts/vendor/moment"
    },
    "moduleDirectories": [
      "jspm_packages/npm",
      "jspm_packages/github",
      "public/scripts/vendor",
      "node_modules"
    ],
  "rootDir": "",
  "modulePathIgnorePatterns": [
    "jspm_packages/npm/js-tokens@1.0.3/"
  ]
},

我在jest testing with es6 + jspm + systemjs + reactJS 中尝试了poeticGeek答案的方法 但是在我的test.js中,每当我import moment from 'moment';测试从未完成时,似乎进入一个无限循环。

如果我删除moduleNameMapper中的那一刻,则出现以下错误:Cannot find module 'moment' from 'date.test.js'

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题是:"rootDir": ""在配置文件中。