节点业力 fs 对象为空

node karma fs object empty

我正在尝试 运行 使用 karma 在节点上进行一些测试。我正在 运行同时使用虚拟浏览器和真实浏览器。

无论哪种方式,我 运行 我在 fs 读取文件功能上遇到错误。

 'undefined' is not an object (evaluating 'fs.existsSync')

即使我有一个非常简单的文件,如:

var fs = require('fs');
console.error(fs);
var text = fs.readFile('data.txt', 'utf8');

第一个控制台写出对象{}。第二个给了我上面的错误。 我假设对象是空的。

我使用的是最新版本的 karma 和依赖项。

关于 fs 对象 empty/not 工作的原因,谁能给我指出正确的方向。

Karma 是客户端 js 测试运行程序,您不能在其上使用节点文件系统。要测试服务器端 js,我建议使用不同的测试运行程序,如 Mocha。如果您将 Mocha 用于服务器 js,即 nodejs,您将能够使用节点文件系统。

还有另一种从客户端读取文件的方法是使用XMLHttpRequest()。请参考这个问题 Javascript - read local text file