【问题标题】:Ability to convert a json file to js in Jest能够在 Jest 中将 json 文件转换为 js
【发布时间】:2020-10-28 17:56:50
【问题描述】:

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

  1. 如果我为 json 添加自定义转换,则由于 jest-runtime 的限制,它不起作用。 转换后,它期望输出仅为 json。请参阅 Jest 运行时代码限制

  1. 如果我将文件扩展名重命名为“.vm”,那么在以下情况下,它永远不会将我的转换器作为 create-react-app add fileTransformer 拾取。该正则表达式中提到的所有其他类型都会选择突出显示的转换器。

需要您的指导来解决此问题。

【问题讨论】:

标签: javascript reactjs jestjs create-react-app react-app-rewired


【解决方案1】:

Webpack 文档:https://webpack.js.org/loaders/json5-loader/ 将 JSON 转换为 JS 的配置看起来像这样。然后你可以将它传递给 Jest,而不是让 Jest 在运行时尝试转换它。

module.exports = {
  module: {
    rules: [
      {
        test: /\.json5$/i,
        loader: 'json5-loader',
        type: 'javascript/auto',
      },
    ],
  },
};

【讨论】:

  • 或者也许这里有自定义加载器而不是 JSON5 加载器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
  • 2023-03-08
  • 2020-04-13
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多