尝试让 Mocha 观看我的项目时出现“没有这样的模块”错误

2024-06-23

我试图让 Mocha 观看我的项目进行测试并不断运行测试,但是当我使用-w标记我收到错误。

这里测试执行得很好:

C:\Foo>mocha

  .

  ? 1 tests complete (3ms)

和这里-w

C:\Foo>mocha -w


node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: No such module
    at EventEmitter.<anonymous> (node.js:392:27)
    at Object.<anonymous> (C:\Users\Greg\AppData\Roaming\npm\node_modules\mocha\bin\_mocha:203:11)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)

我在全球范围内安装了 Mocha (npm install -g mocha)并且应该安装到项目本地。

我在 64 位 Windows 7 家庭高级版上使用 Node v0.6015、Mocha 1.0.1 和 Should 0.6.1。


通过更改几个 mocha 源代码文件,我能够使其在 Windows 上运行。 npm install mocha 之后(在我的例子中,我只是为我的项目安装它,而不是全局安装):

1)首先进入node_modules\mocha\lib\utils.js查找并修复watch函数如下:

exports.watch = function(files, fn) {
    var options = { interval: 100 };
    files.forEach(function(file) {
        debug('file %s', file);
        fs.watch(file, options, function(curr, prev) {
            fn(file);
        });
    });
};

我用 fs.watch 替换了 fs.watchFile (参见https://github.com/fgnass/node-dev/issues/26 https://github.com/fgnass/node-dev/issues/26有关详细信息)因为第一个似乎不适用于 Windows。

2)现已开放node_modules\mocha\bin\_mocha并应用以下修复:

a) 找到并注释掉或删除以下代码:

process.on('SIGINT', function(){
  showCursor();
  console.log('\n');
  process.exit();
});

由于上面没有等效的 POSIX 信号线,因此必须删除(理想情况下由正确的实现替换,请参阅Windows 中 Node.js 中 process.on('SIGINT') 的等价物是什么? https://stackoverflow.com/questions/10021373/what-is-the-windows-equivalent-of-process-onsigint-in-node-js更多细节)

b) 找到以下代码utils.watch(watchFiles, function(){...并将其替换为

  var lastRun = new Date();
  utils.watch(watchFiles, function(){
    if (new Date() - lastRun > 300)
    {
        purge();
        stop()
        mocha.suite = mocha.suite.clone();
        ui = interfaces[program.ui](mocha.suite);
        loadAndRun();
        lastRun = new Date();
    }
  });

它可以限制来自 fs.watch 的过多回调。

c) 最后的更改是删除或注释掉此行:

  process.stdout.write('\r' + str);

in 函数播放(arr,间隔)。它只是消除噪音。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试让 Mocha 观看我的项目时出现“没有这样的模块”错误 的相关文章

  • Gitlab CI/CD 管道给出 Dockerfile 错误

    晚上好 我正在尝试将我的nodeJS应用程序部署到我的Digital Ocean Server 它说找不到我的Dockerfile 我确实检查过 Dockerfile 没有 txt 扩展名 任何指导表示赞赏 我在 Gitlab 项目中设置了
  • 使用 Sequelize.js 和 PostgreSQL 查询关联模型上的 JSONB 字段

    我有我的两个模型Foo and Bar Foo有一个字段barId 因此有一个Bar与其关联的对象 我可以查询我所有的Foo对象并包括它们的关联Bar对象如此 我正在使用 TypeScript续集打字稿 https github com R
  • Node.js 连接 createServer 代码

    我正在阅读 Node js Connect 版本 2 15 0 Create a new connect server return Function api public function createServer function ap
  • 如何在nodejs中处理大量对象

    我想处理长度约为 100 000 的数组 而不会给 CPU 带来太多负载 我研究了流并偶然发现了 highlandjs 但我无法使其工作 我也尝试过使用 Promise 和分块处理 但它仍然给 CPU 带来很大的负载 如果需要 程序可能会很
  • 从另一台服务器读取 Node.js 中的大文件

    我有两台相互通信的服务器 Server1 向 Server2 请求文件的部分内容 并将收到的数据存储到一个文件中 Server2 应该接收每个请求并创建一个流管道传输数据 假设服务器2中存储的文件 目录 如下 bigfile gz bigf
  • 打字稿不适用于 tsconfig.json

    在项目中使用 tsconfig 运行 tsc watch 时 出现以下错误 它需要 Node js 中的 React 和 Redux 类型 error TS2688 Cannot find type definition file for
  • Microsoft SQL 数据库的 WebSocket 侦听器

    我目前正在开发一个项目 该项目必须使用 WebSockets 作为将数据传输到客户端的方式 基础设施看起来像这样 客户端 gt Web 服务器 gt Microsoft SQL 数据库 我想最理想的情况应该是这样的 客户端打开一个到服务器的
  • 如何使用node-sass将scss编译为css

    我有一个 master scss 其中包含许多来自其他 scss 文件的导入 如果我更改 scss 文件 master css 会自动生成 我只使用 NPM 没有使用 Gulp 或 Grunt 这应该保持不变 我当前的构建脚本 script
  • 使用 sudo 从 Node.js 运行命令

    作为 Node js 新手 我有这个问题 我看到在一些地方提到节点不应该以 root 身份运行 例如this http syskall com dont run node dot js as root 我只是使用节点来设置simpleWeb
  • Mongoose 密码哈希

    我正在寻找一种使用 mongoose 将帐户保存到 MongoDB 的好方法 我的问题是 密码是异步散列的 setter 在这里不起作用 因为它只能同步工作 我想了两种方法 创建模型的实例并将其保存在回调中 哈希函数 在 保存 上创建预挂钩
  • Knex 与 PostgreSQL 选择查询在多个并行请求上性能极度下降

    In brief 我正在开发一个 梦想中的 游戏 我的后端堆栈是 Node js 和带有 Knex 的 PostgreSQL 9 6 我在这里保存所有玩家数据 我需要经常请求它 其中一个请求需要进行 10 个简单的选择来提取数据 这就是问题
  • 使用 node.js 和 socket.io 阻止 CORS

    我最近开始学习node js和socket io 我遵循了 socket io 的简单教程 在我的计算机上运行时一切正常 但是 我决定将客户端部分上传到服务器进行测试 这就是问题开始的地方 我想在网络主机上运行聊天客户端 并在我的计算机或其
  • 本地主机上的连接被拒绝

    我正在学校尝试使用我的 NodeJS 和 ReactJS 应用程序 但每次运行服务器时 都会出现错误localhost PORT net ERR CONNECTION REFUSED wifi 是否拒绝本地主机上的连接 PS 反应端渲染正确
  • 在express中设置静态javascript文件的内容类型

    我在用express使用 es6 模块提供带有 js 文件的页面 关于 es6 模块 https jakearchibald com 2017 es modules in browsers https jakearchibald com 2
  • NodeJS 需要全局模块/包

    我正在尝试全局安装然后使用forever and forever monitor像这样 npm install g forever forever monitor 我看到了通常的输出以及将文件复制到全局路径的操作 但是如果我尝试requir
  • 填充对象 ID 数组

    我的架构 var playlistSchema new Schema name type String require true videos type mongoose Schema Types ObjectId ref Video co
  • 在nodejs中从服务器下载.zip文件

    我正在使用 MEAN 其中我想允许用户从服务器下载 zip 文件 所以基本上我必须做以下事情 从某些数据创建 csv 文件 将该文件存储到某个目录中 将这些文件压缩为 zip 当用户单击该按钮时 应该下载并读取压缩文件 我已经完全达到了1
  • 咕噜玉错误

    每当我运行 grunt james 时 我都会收到错误 Warning pattern indexOf is not a function Use force to continue 现在这是我的玉石任务 jade options pret
  • HTTP 标头大小写

    我正在处理服务器 它不接受非大写的标头 不幸的是我不能用它做太多事情 var headers headers User Agent Mozilla 5 0 Windows NT 6 1 Win64 x64 AppleWebKit 537 3
  • 使用 mongoDB 重命名集合

    我无法重命名 mongoDB 中的集合 我可以看到它存在并且可以从中写入和读取数据 我已尝试使用节点 mongo 本机驱动程序进行以下操作 db collection mycollection renameCollection mynewc

随机推荐

  • 用户“IIS APPPOOL\ASP.NET v4.0”登录失败

    我有一个 Web 项目 C Asp Net EF 4 MS SQL 2008 和 IIS 7 我需要将其迁移到本地 IIS 7 目前与 CASSINI 配合良好 Locally in IIS I have my Default Web Si
  • 如何在 Websphere 6.1 部署描述符中的 Web 模块级别指定共享库引用?

    我正在开发一个 Web 应用程序 该应用程序作为包含在包装器 Ear 内的 war 文件部署到 Websphere 耳朵内没有其他模块 已在 Websphere 管理控制台的单元范围内创建了共享库 我可以在管理控制台的 Web 模块级别指定
  • 为什么我的annotationProcessor 配置在我的Gradle 平台中看不到版本?

    我正在使用一个梯度平台 https docs gradle org current userguide platforms html sub using platform to control transitive deps 具体来说jav
  • GitHub Actions 中的 SSH“主机密钥验证失败” - 但密钥存在于known_hosts 中

    我在 GitHub Actions 中遇到了最奇怪的错误 我已经尝试解决这个错误好几个小时了 但我完全没有想法 我目前使用一个非常简单的 GitHub Action 最终目标是在其他工作流程中通过 ssh 运行特定的 bash 命令 Doc
  • JAXB Simplify 插件与 *.xjb

    我正在尝试使用简化插件 http confluence highsource org display J2B Simplify Plugin用一组更简单的属性替换复杂的属性 我按照插件手册使它工作 但我无法更改原始架构 因此我必须使用外部绑
  • 为什么 JNI Global 引用有最大数量限制?

    众所周知 JNI是Java和C 之间的桥梁 最近我在写一个Java项目 它的主要模块是基于C 的 需要存储大量的数据GlobalReference 而且会随着活动的开展而增加 因此最大数量 65535 GlobalReferences成为一
  • 为什么 PostgreSQL 中的聚合函数不适用于布尔数据类型

    为什么我们不能在聚合函数中使用布尔值而不先转换为某种整数类型 在许多情况下 从布尔数据类型的列计算总和 平均值或相关性是非常有意义的 考虑以下示例 其中布尔输入必须始终转换为int为了使其发挥作用 select sum boolinput
  • 从我的 java 程序调用 Sonar

    我已经在本地主机上安装了声纳服务器 我能够运行和分析java项目 即使我已经在 eclipse 上安装了声纳插件 但我想从我的 java 项目 如简单的 java 类 运行声纳 并且应该检索声纳结果并能够将其保存在数据库中 我搜索了教程但无
  • KSOAP2:如何使用HttpsTransportSE?

    我正在开发一个 Android 应用程序来与需要 SSL 连接的 Web 服务进行通信 为此 我想使用 HttpsTransportSE 但我找不到有关如何使用该类的教程 我正在尝试构建一个新实例 但我不确切知道必须传递给构造函数的信息 我
  • 根据您的经验,您是否会推荐使用“C# 和 CLI 的 C5 通用集合库”?

    这个免费的馆藏图书馆来自哥本哈根信息技术大学 http www itu dk research c5 http www itu dk research c5 Channel 9 上有一个作者之一的视频 我正在尝试学习如何使用这些集合 我想知
  • 超出 HTTPSConnectionPool 最大重试次数

    我有一个在 nginx uwsgi 上运行的 django 应用程序 我们最近开始对所有连接使用 SSL 自从迁移到 SSL 以来 我经常收到以下消息 HTTPSConnectionPool host foobar com port 443
  • windows服务sql连接问题

    我需要你的帮助 我想从 Windows 服务连接到 sql server 但它抛出以下异常 用户 NT 登录失败 权威 匿名登录 我的连接字符串声明如下
  • Matlab:从一定范围内不重复的随机整数

    我想获得一个包含在范围内且不重复的随机整数的数组 我使用了 randperm 15 3 输出是 8 10 12 这个函数不使用范围 我只想从 10 中随机取值 例如 如果您有统计工具箱 则可以使用randsample https www m
  • 在 Ansible 中为多个任务定义一个通知块

    是否可以定义一个notify阻止多个任务 在下一个代码片段中notify restart tomcat定义了 3 次 但我只想定义一次并 应用 到任务列表 name template context xml template src con
  • 使用 jQuery 的 click 事件时出现错误

    那里 我正在使用 jQuery 将单击处理程序添加到我用于日历的一些按钮 但上下文似乎并不重要 我尝试在单击事件调用的函数中添加任何内容 或不添加任何内容 如果我连续单击该按钮几次 三到四次 则会收到错误消息 它实际上似乎并不影响函数本身的
  • SQL Azure - 一个会话锁定整个数据库以进行更新和插入

    SQL Azure 问题 我遇到了一个问题 在我们的 asp net 网站上表现为以下异常 超时已过 超时时间在完成之前已过 操作或服务器没有响应 该声明已 终止 它还会导致 SMSS 中的更新和插入语句永远无法完成 查询时不存在任何 X
  • 使用intellij Scala编译错误

    我正在尝试使用 intelliJ 14 1 4 编译混合 java scala 代码 但它一直给我这个错误 Error Compiling SBT component compiler interface 2 9 2 52 0 我尝试降级我
  • 无法在 glassfish 3.1 中将字符集从 ISO-8859-1 更改为 UTF-8

    我在将 Web 应用程序响应中的字符集从 ISO 8859 1 默认 更改为 UTF 8 时遇到问题 我已经添加了VM选项 Dfile encoding UTF 8到 JVM 选项 但是 我仍然得到了以下 HTTP 标头作为 glassfi
  • 如何使用 BLAS 执行向量矩阵乘法?

    BLAS 定义了 GEMV 矩阵向量乘法 2 级运算 如何使用 BLAS 库执行向量矩阵乘法 这可能很明显 但我不知道如何使用 BLAS 运算进行此乘法 我原本期望进行 GEVM 手术 M x N 矩阵与 N x 1 向量的矩阵向量乘法将得
  • 尝试让 Mocha 观看我的项目时出现“没有这样的模块”错误

    我试图让 Mocha 观看我的项目进行测试并不断运行测试 但是当我使用 w标记我收到错误 这里测试执行得很好 C Foo gt mocha 1 tests complete 3ms 和这里 w C Foo gt mocha w node j