Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 能够在Jest中将json文件转换为js_Javascript_Reactjs_Jestjs_Create React App_React App Rewired - Fatal编程技术网

Javascript 能够在Jest中将json文件转换为js

Javascript 能够在Jest中将json文件转换为js,javascript,reactjs,jestjs,create-react-app,react-app-rewired,Javascript,Reactjs,Jestjs,Create React App,React App Rewired,我们正在使用createreact应用程序来构建我们的声明性框架。在这个框架中,我们编写了一个json文件,该文件通过webpack加载到react组件中。我们为此编写了特定的加载程序。这在浏览器中运行良好。但是面临着单元测试的问题。createreact应用程序使用Jest进行单元测试。 我想要实现的是在js或react组件中转换这些json文件,但要满足以下限制 若我为json添加自定义转换,那个么由于jest运行时设置的限制,它将无法工作。 转换后,它希望输出仅为json。请参阅Jest运

我们正在使用createreact应用程序来构建我们的声明性框架。在这个框架中,我们编写了一个json文件,该文件通过webpack加载到react组件中。我们为此编写了特定的加载程序。这在浏览器中运行良好。但是面临着单元测试的问题。createreact应用程序使用Jest进行单元测试。 我想要实现的是在js或react组件中转换这些json文件,但要满足以下限制

  • 若我为json添加自定义转换,那个么由于jest运行时设置的限制,它将无法工作。 转换后,它希望输出仅为json。请参阅Jest运行时代码,该代码限制
  • 如果我将文件扩展名重命名为“.vm”,那么在以下情况下,它将不会将我的转换器作为create-react-app-add-fileTransformer。突出显示的transformer将被用于该正则表达式中提到的所有其他类型
  • 需要您的指导来解决此问题。

    网页文档: 将JSON转换为JS的配置如下所示。然后,您可以将其传递到Jest中,而不是让Jest在运行时尝试转换它

    module.exports={
    模块:{
    规则:[
    {
    测试:/\.json5$/i,
    加载器:“json5加载器”,
    键入:“javascript/auto”,
    },
    ],
    },
    };
    
    它希望输出为json的原因是,它使模拟json文件变得超级简单
    data.json和_mock_____;/data.json
    如果覆盖transform对象,理想情况下选项2应该可以工作。你能分享一下你的package.json的jest对象()吗?你是否经历过:或者在这里使用自定义加载程序而不是JSON5加载程序。