Node.js 如何让Jest--watch在对JSON/YAML文件的更改上运行?

Node.js 如何让Jest--watch在对JSON/YAML文件的更改上运行?,node.js,testing,jestjs,yaml,Node.js,Testing,Jestjs,Yaml,我正在使用依赖于数据装置的--watch运行一些jest测试。我希望在编辑数据文件时触发监视运行,而不仅仅是编辑代码。 我已经在我的包中添加了以下内容。json专门为moduleFileExtensions添加了yaml,但仍然没有任何运气。基于: 我是否可以对package.json进行设置,看看它是否被接收?我想下一步是尝试使用.js配置,抛出一些错误,看看我是不是找错了方向 yaml文件不是“导入”的一部分,或者,它们只是由我的代码加载的。所以我希望通过“触摸”这些文件可以重新触发手表的

我正在使用依赖于数据装置的
--watch
运行一些jest测试。我希望在编辑数据文件时触发监视运行,而不仅仅是编辑代码。 我已经在我的
包中添加了以下内容。json
专门为
moduleFileExtensions
添加了
yaml
,但仍然没有任何运气。基于:

我是否可以对
package.json
进行设置,看看它是否被接收?我想下一步是尝试使用
.js
配置,抛出一些错误,看看我是不是找错了方向

yaml文件不是“导入”的一部分,或者,它们只是由我的代码加载的。所以我希望通过“触摸”这些文件可以重新触发手表的运行

也许watch命令还需要指定要监视的数据文件

  "jest": {
    "verbose": true,
    "modulePaths": [
      "cdn",
      "src"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "jsx",
      "ts",
      "tsx",
      "yaml"
    ]
moduleFileExtensions
是配置要查看的其他文件扩展名的正确位置。但是,不应使用
modulePath
来配置要监视的目录,而应使用
root

模块路径的Jest定义

modulePath是设置NODE_PATH env变量的另一种API,它是一个绝对路径数组,指向解析模块时要搜索的其他位置

模块在测试执行之前被解析,预计不会有太大变化。如果你想添加JET目录来观看,那么你可以考虑使用.< /P>
根的Jest定义

Jest在中搜索文件时应使用的目录路径列表

package.json

{
  ...
  "jest": {
    "roots": [
      "<rootDir>/cdn",
      "<rootDir>/src"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "jsx",
      "ts",
      "tsx",
      "node",
      "yaml",
      "yml"
    ]
  }
}
{
...
“笑话”:{
“根”:[
“/cdn”,
“/src”
],
“moduleFileExtensions”:[
“js”,
“json”,
“jsx”,
“ts”,
“tsx”,
“节点”,
“yaml”,
“yml”
]
}
}

请注意,我还在moduleFileExtensions中添加了“yml”,以防您使用yml/yaml。

您的Jest配置是什么,以及如何使用这些文件?对于在测试中导入的模块,监视是开箱即用的。如果您没有使用
require
import
加载它们,这显然是不可行的。这些文件不是代码,因此不需要,它们是YAML数据。它们被我的代码tho“读取”。监视循环正在处理代码,但不处理数据。