1

我在 create-react-app 项目中使用HJSON (请参阅此处的答案),但 Jest 没有使用相同的 webpack 配置,因此无法正确导入 HJSON - 例如

import options from '../assets/options.hjson'; 

只需设置options为字符串'../assets/options.hjson'。

那么如何使用 Jest 导入 HJSON 文件呢?

4

1 回答 1

1

您需要为 Jest 创建一个转换器模块以将 HJSON 转换为 JSON - 请参阅此处的文档。

jest-hjson-transformer.js在你的根目录中创建一个文件

const hjson = require('hjson');

function process(src, path, config, transformOptions) {
  const json = hjson.parse(src);
  const jsonStr = JSON.stringify(json, null, 2);
  const out = `module.exports = ${jsonStr}`;
  return out;
}
exports.process = process;

在你的package.json,

  "jest": {
    "moduleFileExtensions": [
      "js",
      "jsx",
      "hjson"
    ],
    "transform": {
      "^.+\\.hjson$": "<rootDir>/jest-hjson-transformer.js"
    }
  },
于 2018-01-19T11:28:35.683 回答