- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我最近集成了 config-js进入 Jest 测试以获取可配置的网站 URL 和凭据,但现在我的测试没有完全完成。通常,我从命令行运行npm test
,测试执行,并返回命令行提示符。在测试中使用 config-js,测试部分完成,但命令行只是挂起,我必须按 ctrl+c 才能返回到提示符。我做了一些实验,我很确定这是由于 config-js 使用了 fs.watchFile:
fs.watchFile(this.pathToConfigFile, function () {
self.loadConfig(self.pathToDefaults, self.pathToConfigFile, self.region);
});
当我注释掉这些行时,一切正常。我尝试改用 fs.watch,但这并不能解决问题。正如所说,我实际上并没有在我的测试中对配置文件进行任何更改或热重载。
如果有帮助,这里是测试:
const Config = require('config-js');
let myConfig = new Config('./my.config.js');
describe('config test', function () {
it('gets the baseUrl', function() {
expect(myConfig.get('testing.baseUrl')).toEqual('http://foo.com');
});
});
这是配置文件的样子:
module.exports = {
testing: {
baseUrl: "http://foo.com"
}
}
最佳答案
这在 fs.watchFile
documentation 中有解释:
persistent
<boolean>
Indicates whether the process should continue to run as long as files are being watched. Default: true
将持久性选项设置为 false 以允许您的进程在所有其他操作完成后退出:
fs.watchFile(this.pathToConfigFile, {persistent: false}, function () {
self.loadConfig(self.pathToDefaults, self.pathToConfigFile, self.region);
})
关于javascript - 为什么 Node fs.watchFile 会阻止测试完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703023/
我编写了这段小代码来监视 config.json 文件,但是当我运行该文件时 node watch.js 并更改 config.json 文件值中的值,没有任何变化,cmd 上没有显示更新的文件,cm
有人能解释一下持久 watch 的工作原理吗? 如果它正在监视文件以进行更改,它是否会占用 PC 上的一些资源? 谢谢 ;) 最佳答案 fs.watchFile 创建一个 StatWatcher,然后
我正在尝试为项目重新创建 fs.watchFile(),但我对特定主题有点困惑。问题是这个回调函数的参数 curr 和 prev 是如何填充的? fs.watchFile('message.text'
我最近集成了 config-js进入 Jest 测试以获取可配置的网站 URL 和凭据,但现在我的测试没有完全完成。通常,我从命令行运行npm test,测试执行,并返回命令行提示符。在测试中使用 c
刚接触 node.js 并且只是浏览 watchFile“模块”上的文档?(我不知道你称它为模块还是方法还是什么) 我当前的代码如下所示: var fs = require("fs"); consol
根据API docs for Node 0.4.3 , fs.watchFile(filename, [options], listener) 函数启动一个例程,该例程将 Watch for chan
我正在尝试使用 Node 的 watchFile 功能来实现数据库到服务器的推送模型。现在我正在从数据库导出 nfs4 共享。服务器安装该共享。当数据库处理新数据时,它会触及其导出位置中的文件。服务器
我想检测文件的变化,如果文件发生变化,我会使用 child_process 执行 scp 命令将文件复制到服务器。我查阅了 node.js 文档,fs.watchFile 函数似乎是做什么的我想做,但
我使用此方法在文件发生更改时从文件中读取数据。我重组了我的项目,现在不再读取数据。 fs.watchFile("???", (curr, prev) => { console.log("Änd
Ubuntu 12.04 Node v0.6.14 CoffeeScript 1.3.1 fs.watchFile coffee_eval, (e) -> console.log e resu
我帮助维护的一些代码使用下面的 watchDirectories 方法来重新启动应用程序,使用this answer建议的方法。 . 引用这里:https://learn.microsoft.com/
我正在尝试使用以下代码监视与 node.js 的 watchFile() 进行(软)符号链接(symbolic link)的文件: var fs=require('fs') , file= '
我是一名优秀的程序员,十分优秀!