Node.js - 启动进程(firebase 模拟器)并读取其输出

2024-02-26

我想在 Jest 测试之前启动 firebase 模拟器。

执行此操作,但以编程方式执行:

E:\my-projct>firebase emulators:start --only firestore
i  emulators: Starting emulators: firestore
i  firestore: Serving ALL traffic (including WebChannel) on http://localhost:8080
!  firestore: Support for WebChannel on a separate port (8081) is DEPRECATED and will go away soon. Please use port above instead.
i  firestore: Emulator logging to firestore-debug.log
+  firestore: Emulator started at http://localhost:8080
i  firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080
+  All emulators started, it is now safe to connect.

因此,我需要:

  • 执行命令

  • 等待“所有模拟器已启动”字符串出现。

我如何读取输出?

我尝试过以下操作,它打印的只是换行符。

const cp = require('child_process');
const child = cp.exec('firebase emulators:start --only firestore');
child.stdout.addListener('data', data => console.log(data.toString()));

这正是我们制作firebase emulators:exec命令。

假设您使用“npm run test”来运行 Jest 脚本,您将使用:

firebase emulators:exec "npm run test"

这会:

  1. 启动模拟器并等待它们准备好
  2. 运行您的脚本(npm run test在这种情况下)
  3. 等待脚本退出
  4. 干净地关闭模拟器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js - 启动进程(firebase 模拟器)并读取其输出 的相关文章

  • 如何在node.js中存根process.env?

    我想存根process env FOO with bar var sinon require sinon var stub sinon stub process env FOO bar 我很困惑 我阅读了文档 但仍然不明白 sinonjs
  • 如何将多个 api 请求中的多个可读流传输到单个可写流?

    期望的行为 实际行为 我尝试过的 重现步骤 研究 期望的行为 将从多个 api 请求接收到的多个可读流传输到单个可写流 API 响应来自 ibm watsontextToSpeech synthesize https cloud ibm c
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • 如何获取nodejs程序中的nodejs版本?

    In a Node js 的调试器 https github com rocky trepanjs 有一个命令显示V8版本和调试器包版本 如何获取nodejs版本 我想我基本上可以运行命令node version or nodejs ver
  • 如何使用 sinon/mocha 模拟 npm 模块

    我正在尝试测试调用该模块的函数cors 我想测试一下cors会被称为 为此 我必须存根 模拟它 这是函数 cors js const cors require cors const setCors gt cors origin http l
  • npmjs.org - 找不到自述文件

    我是 npm 包的主要作者scramjet 一个月以来 我遇到了关于可视性的问题README md在 npmjs 中 The npm 中的超燃冲压发动机包 https www npmjs com package scramjet shows
  • Node JS - 如何检测用户语言

    我正在尝试在纯 Node js 中检查用户语言 而不使用 npm 的任何扩展 我使用了进程和全局命令 有很多规范但我找不到系统语言 这是获取默认区域设置的独立于操作系统 节点 浏览器的方法 let locale Intl DateTimeF
  • 如何解决 Socket.io 404(未找到)错误?

    我正在使用 Socket io 和 Express 在我的项目中 我有一个登录页面和一个主页 当我成功登录时 我导航到 localhost 3000 home 并收到以下错误 GET http localhost 3000 socket i
  • libxmljs 的替代品 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目标 使用 Node js 访问网页 使用 xpath 语法操作 DOM 并打印新的 DOM libxm
  • 缺少节点-v59-linux-x64/grpc_node.node

    我正在尝试在我的服务器中使用 Firebase admin SDK 当我部署时 出现错误 我在 firebase admin node module 映射中缺少文件 node v59 linux x64 grpc node node 我在包
  • Angular-cli AOT 构建失败,并显示“致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足”

    我正在尝试使用 AOT 构建我的 angular cli 项目 ng build aot 但它因错误而失败 致命错误 CALL AND RETRY LAST 分配失败 JavaScript 堆内存不足 如果我用 prod flag 任何想法
  • firebase 和 firebase-admin npm 模块有什么区别?

    我想使用 Firebase 身份验证 数据库和存储 构建 Node js Web 应用程序 但我对应该使用哪个模块感到困惑 firebase or firebase 管理员 或两者 管理 SDK 运行您的代码管理权限 https fireb
  • 如何在超级测试中模拟中间件?

    我想测试中间件是否在app js叫做 虽然我嘲笑该模块work js 它仍然运行原始代码 app js const work require work const express require require const app expr
  • 在node.js中加载并执行外部文件

    从另一个节点js文件运行一个节点js文件是否容易 可能 例如 我有两个文件 test1 js 和 test2 js 我想从 test2 js 执行 test1 js 文件 我认为完成你想做的事情的更好方法是按照我的其他答案建议的去做 但是要
  • 使用 Sequelize 实现单表继承

    有没有办法使用sequelize来创建单表继承 我希望有一个用于购买和 PartialPurchase 模型的 STI 其中我将有一个类型字段 该字段为 Purchase 或 PartialPurchase 以及类 Purchasing 和
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但

随机推荐

  • 按多列对 Eloquent 集合进行排序的语法是什么?

    我知道在使用查询生成器时 可以使用以下方法按多列排序 orderBy column1 gt orderBy column2 但现在我正在处理一个收藏 http laravel com docs eloquent collections目的
  • Animation.FuncAnimation ValueError:关闭文件上的 I/O 操作

    我在重现下面的代码时遇到了麻烦 我非常想要将其用于演示 尽管我了解梯度下降的工作原理 但我不知道 Animation FuncAnimation 函数有什么问题 我花了 4 个小时来找到该问题的解决方案 但不幸的是我找不到 下面是我试图重现
  • 在 FusionTablesLayer 中应用查询后可以迭代标记吗?

    我目前有一个过滤器在渲染为地图图层的融合表上工作 并且我希望在过滤器更改时进行缩放以最适合所有数据 我想我需要等到应用查询 然后迭代标记以找到最小 最大 x 和 y 位置并平移到该矩形 但我在 Maps api 中没有看到访问标记的方法一层
  • 更新 QML 中 var 属性的绑定

    如果你看一下这一页 http doc qt io qt 5 qml var html它指出 当对象更改时 与 var 属性的绑定不会自动更新 Item property var car new Object wheels 4 Text te
  • javascript中括号的作用

    我想知道以下和括号的作用之间的区别 foo bar replace a b and foo bar replace a b 括号是否要求在继续替换方法之前首先计算所包含的表达式 我在我正在维护的代码中看到了这一点 并且很好奇为什么它是必要的
  • Microsoft Visual C++ 运行时版本?我需要把它们全部保留吗?

    我环顾四周 不确定是否能找到明确的答案 所以如果之前有人问过这个问题 我很抱歉 我的 Google Fu 让我失望了 我们正在针对 NET Framework 开发软件 但从历史上看 我们必须包含许多第三方组件 此外 从历史上看 这些往往与
  • 如何在不清理整个项目的情况下强制“build.rs”再次运行?

    我怎样才能强迫build rs再次运行而不清理我的整个项目 我检查了cargo build help但我找不到任何相关的东西build rs 如果您打印 cargo rerun if changed
  • 在画布上画线,但最后的线褪色了

    我正在尝试在黑色背景上绘制白线网格 底部的 3 条水平线似乎已经褪色 直到我重新绘制它们 我不明白为什么会发生这种情况 有没有人见过这个和 或知道我做错了什么 这是因为线条是在它们所在的所有像素上绘制的 在画布上定位是浮动的 当你想在画布上
  • 为什么将 pickle 文件加载到内存中会占用更多空间?

    我有一个文件夹包含 7603 个文件pickle dump 平均文件大小为6 5MB 因此文件占用的总磁盘空间约为48GB 每个文件都是通过 pickle 一个列表对象获得的 该列表的结构为 A 50 A str int 92 floats
  • 如何将 erb 转换为 html?

    想象一下我在轨道上 template这是一个实例ActionTemplate View 问题是 我该如何转换 template谁的 template source是 to hello from erb 谢谢 尝试这个 ERB new tem
  • 与“this”没有类型/差异的显式自引用

    我了解用途显式键入的自引用 http www scala lang org node 124 trait T self T2 gt 在身体里 self是一个别名this但有更精确的类型T with T2 现在 我在代码中看到了这一点 tra
  • AWS RDS SQL Server 无法删除数据库

    我尝试通过导出数据层应用程序迁移 SQL Server 数据库 bacpac文件 从 Amazon RDS 实例到其他实例 但导入失败 所以现在我想删除数据库 它是空的 当我尝试 DROP DATABASE mydatabase 我收到错误
  • 捕获 java.lang.OutOfMemoryError?

    文档 http java sun com javase 6 docs api java lang Error html for java lang Error says Error 是 Throwable 的子类 表示合理的应用程序不应尝试
  • SQL 比较和空值的问题

    我有一个更新查询 当一个表中的值与另一表中的字段不匹配时 该查询会更新一个表中的字段 UPDATE table1 SET a field1 b field3 FROM table1 a table2 b WHERE a field2 b f
  • 开发环境与测试和生产环境不同?

    如果开发人员想要实现sql2008开发环境 但我们仍然被迫使用sql2000测试和sql2000生产环境 你会怎么说 在开发服务器上使用sql2008会有什么问题吗 当然 您需要知道哪些功能您无法使用 因此将工作从 sql2008 服务器迁
  • 扑。在非常大的 ListView 上设置 ListView 初始位置

    我想创建一个几乎无限的元素列表 但我想将列表的初始位置设置为某个特定元素 像这样的图片 其中索引 0 是初始位置 并且该列表可能会也可能不会在两个方向上延伸很长 我可以创建我的元素 例如 Widget build tile int i re
  • 文本装饰:无不适用于 ul

    我看到了很多与这个主题相关的问题 但没有一个回答我的问题 我正在为一个网站制作一个侧边栏 我试图在与侧边栏宽度相同的框中创建链接 只有一点填充 也许是10 15px 并且每个链接之间有一点点空间 也许 3 像素 但我似乎无法得到 text
  • 如何更改gridview所选项目的背景颜色?

    如何在 Asp net Web 应用程序中更改 gridview 所选项目的背景颜色 您可以在 GridView 标记下的 aspx 页面中执行此操作
  • React-router URL 在刷新或手动写入时不起作用

    我正在使用 React router 当我单击链接按钮时它工作正常 但是当我刷新网页时它不会加载我想要的内容 例如 我在localhost joblist一切都很好 因为我按链接到达这里 但if我刷新我得到的网页 Cannot GET jo
  • Node.js - 启动进程(firebase 模拟器)并读取其输出

    我想在 Jest 测试之前启动 firebase 模拟器 执行此操作 但以编程方式执行 E my projct gt firebase emulators start only firestore i emulators Starting