我在 create-react-app 项目中使用HJSON (请参阅此处的答案),但 Jest 没有使用相同的 webpack 配置,因此无法正确导入 HJSON - 例如
import options from '../assets/options.hjson';
只需设置options
为字符串'../assets/options.hjson'。
那么如何使用 Jest 导入 HJSON 文件呢?
我在 create-react-app 项目中使用HJSON (请参阅此处的答案),但 Jest 没有使用相同的 webpack 配置,因此无法正确导入 HJSON - 例如
import options from '../assets/options.hjson';
只需设置options
为字符串'../assets/options.hjson'。
那么如何使用 Jest 导入 HJSON 文件呢?
您需要为 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"
}
},