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

loading local modules in JEST with 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/",
      "^github:(.*)": "<rootDir>/jspm_packages/github/",
      "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'

有什么想法吗?

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