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

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


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

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

最佳答案

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

使用以下命令在根目录中创建文件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"
    }
  },

关于javascript - 您如何在create-react-app项目中将HJSON与Jest一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48340097/

10-10 05:28