未定义带有xmljs GLOBAL的笑话测试"/>
未定义带有xmljs GLOBAL的笑话测试
当前我正在使用]编写应用程序>
- NodeJS v13.12.0
- 笑话25.4.0
- xmljs 0.3.2
- 打字稿3.8.3
- 笑话25.4.0
此应用程序应模仿CalDAV服务器。因此,我依赖于xmljs模块,这是(在我研究之后)唯一给我直接用于在XML中查找属性的path
方法的模块。
在节点容器中,该应用程序运行正常,没有任何错误。但是,当我使用Jest启动测试时,测试失败并显示以下错误
ReferenceError: GLOBAL is not defined at node_modules/xmljs/core.js:46:2 at Object.<anonymous> (node_modules/xmljs/core.js:176:3) at node_modules/xmljs/XmlParser.js:3:11 at Object.<anonymous> (node_modules/xmljs/XmlParser.js:204:3)
[我现在知道,此错误源自尝试设置
GLOBAL
变量的xmljs模块,该变量在NodeJS中解析为global
。但这并不是开玩笑。
我的代码如下所示:
import XmlParser = require("xmljs"); /* * data is the body of a PROPFIND request */ new XmlParser({ strict: true }).parseString(data, (err, xmlNode) => { // omit err xmlNode.path(["propfind", "prop"], true); const propertiesObj: XmlNode[] = childs[0].children; const properties: string[] = []; Object.keys(propertiesObj).forEach(n => { properties.push(n); }); logger.silly("Returning properties: %O", properties); });
谁可以
向我显示要使用的模块,而无需大量修改我的代码
- 哪个支持纯js实现而不使用node-gyp(因为它可以在Windows服务器上使用)
向我展示如何通过变通办法来欺骗在xmljs中设置的GLOBAL变量
感谢您的帮助
当前,我正在使用NodeJS v13.12.0 Jest 25.4.0 xmljs 0.3.2打字稿3.8.3 ts-jest 25.4.0编写应用程序。此应用程序应模仿CalDAV服务器。因此,我依赖于xmljs模块,该模块...
回答如下:您可以在测试设置中设置GLOBAL
的值。似乎GLOBAL
变量是节点中global
的不赞成使用的形式。
更多推荐
未定义带有xmljs GLOBAL的笑话测试
发布评论