$1 在 jest 配置中做什么?

Sam*_*Sam 8 webpack jestjs

在webpack 中使用 jest的教程提到了这个语法:$1,我一直无法弄清楚它是做什么的。我正在处理两个具有相同别名的项目,但一个使用 jest 配置:

"moduleNameMapper": {
  "^myModule(.*)$": "<rootDir>/src/components/react",
}
Run Code Online (Sandbox Code Playgroud)

当一个人与

"moduleNameMapper": {
  "^myModule(.*)$": "<rootDir>/src/components/react$1",
}
Run Code Online (Sandbox Code Playgroud)

$1 语法有什么作用?

Bam*_*ieh 7

Jest 将获取对象的键,并用一个RegExp对象包裹它。所以基本上你正在编写一个正则表达式字符串作为键。正则表达式中的 $1..$9 是为 match 捕获的捕获组。捕获组是通过将括号括在要“保存”的模式周围来创建的。

 "^myModule(.*)$": "<rootDir>/src/components/react$1"
Run Code Online (Sandbox Code Playgroud)

所以如果你有myModule/SOMETHING它的导入将被映射到:

myModule/SOMETHING => <rootDir>/src/components/react/SOMETHING"
Run Code Online (Sandbox Code Playgroud)

  • https://docs.microsoft.com/en-us/dotnet/standard/base-types/substitutions-in-regular-expressions (2认同)