Javascript 如何在CreateReact应用程序项目中使用HJSON和Jest?

Javascript 如何在CreateReact应用程序项目中使用HJSON和Jest?,javascript,jestjs,hjson,Javascript,Jestjs,Hjson,我在一个CreateReact应用程序项目中使用(参见答案),但Jest不使用相同的网页配置,因此无法正确导入HJSON-例如 import options from '../assets/options.hjson'; 只需将options设置为字符串“../assets/options.hjson” 那么,如何使用Jest导入HJSON文件呢 您需要为Jest制作一个转换器模块,以便将HJSON转换为JSON-请参阅文档 在根目录中使用 const hjson = require('hj

我在一个CreateReact应用程序项目中使用(参见答案),但Jest不使用相同的网页配置,因此无法正确导入HJSON-例如

import options from '../assets/options.hjson'; 
只需将
options
设置为字符串“../assets/options.hjson”


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

您需要为Jest制作一个转换器模块,以便将HJSON转换为JSON-请参阅文档

在根目录中使用

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"
    }
  },
“开玩笑”:{
“moduleFileExtensions”:[
“js”,
“jsx”,
“hjson”
],
“转变”:{
“^.+\.hjson$”:“/jest hjson transformer.js”
}
},