1

我在 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 开发者工具控制台中运行代码,结果与 undefined 相同:

var uri = new URL(request.url).pathname
undefined

但在同一个脚本中,我也使用 CryptoJS,它不需要任何导入,它就可以工作。

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

4

1 回答 1

2

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

为了使用库,只需调用 require 函数并将模块名称作为参数传递,并将函数的返回值分配给变量。

所以,在你的情况下,它应该是这样的:

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

console.log(pathName);

详细文档:Postman Sandbox API 参考

于 2020-04-04T12:51:20.017 回答