Webpack Jest自定义解析器

时间:2019-06-27 09:10:58

标签: webpack jestjs

我有一个自定义的webpack解析器,它以内联方式使用

import abc from 'xyz!abc

xyz是自定义解析器。这对于运行该应用程序非常有效,但是就开玩笑而言,我不确定如何使用解析器。对于解析器,我没有其他选择,它必须是内联的并且不能被嘲笑。

Webpack将解析器导入webpack.config.js

  config.resolveLoader = {
    modules: [
      'node_modules',
      'loaders'
    ]
  }

1 个答案:

答案 0 :(得分:0)

您可以使用jest的resolver选项来重新创建自定义Webpack解析器

  

此选项允许使用自定义解析器。此解析器必须是一个节点模块,该模块导出一个将字符串作为第一个参数的函数。   该函数应该返回应该解决的模块路径,或者如果找不到该模块,则抛出错误。

另一种选择是使用jest的module mapper功能,将诸如xyz!abc之类的导入映射到特定文件。

{
  "moduleNameMapper": {
    "^xyz!abc$": "<rootDir>/RelativeImageStub.js",
    "module_name_(.*)": "<rootDir>/substituted_module_$1.js"
  }
}

第二个选项显示了如何使用参数动态映射。