Postman 未定义邮递员预请求脚本URL

Postman 未定义邮递员预请求脚本URL,postman,postman-pre-request-script,Postman,Postman Pre Request Script,我在Postman中有一个预请求脚本,需要创建URL: var uri = new URL(request.url).pathname; console.log("uri:" + uri); 失败,错误为:未定义URL。我四处搜索,尝试了各种不同的方法: //const url = require('url'); //const URL = require('url').URL; 它们都不起作用。我检查了节点版本和npm,它显示这些都已安装 node -v -bash: node: comm

我在Postman中有一个预请求脚本,需要创建URL:

var uri = new URL(request.url).pathname;
console.log("uri:" + uri);
失败,错误为:未定义URL。我四处搜索,尝试了各种不同的方法:

//const url = require('url');
//const URL = require('url').URL;
它们都不起作用。我检查了节点版本和npm,它显示这些都已安装

node -v
-bash: node: command not found
npm -v
-bash: npm: command not found
我必须安装节点才能工作吗

我还在chrome开发者工具控制台中运行代码,结果与未定义相同:

var uri = new URL(request.url).pathname
undefined
但在同一个脚本中,我也使用CryptoJS,它不需要任何导入,只需工作即可


我使用的是macOS Mojave 10.14.6和POSTMAN 7.21.2应用程序,而不是chrome扩展。

POSTMAN支持API,其中一些是预包含的。例如,CryptoJS是预先包含的,因此不需要显式添加。Postman文档指出,请求前脚本还支持多个节点模块,以使其正常工作:

为了使用库,只需调用require函数并传递 将模块名称作为参数,并指定函数的返回值 一个变量

因此,在您的情况下,应该是这样的:

const url = require('url');
var pathName = url.parse(request.url).pathname;

console.log(pathName);

详细文档:

您想要实现的目标是什么,也许有人可以提供不同的解决方案?您可以在预请求脚本中使用
pm.request.url=“My url”
。我需要从url获取路径,更新我的帖子:new url(request.url)。pathname老实说,这有点不一致,因为有些人实际上不需要require语句将它们引入沙箱。Lodash就是一个例子-使用
..*
函数将开箱即用@丹妮丹顿啊,好吧,我不知道。