# @crossbrowsertesting/pac-resolver 中文文档

规范地址：https://npmcn.com/package/%40crossbrowsertesting/pac-resolver/

版本：3\.0\.2
npm 元数据更新时间：2022-04-05T01:52:38.162Z
中文译文更新时间：2026-11-11T01:33:29.333Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40crossbrowsertesting/pac-resolver
原文对照：https://npmcn.com/package/%40crossbrowsertesting/pac-resolver/?lang=original
项目主页：https://github.com/crossbrowsertesting/node-pac-resolver#readme
源码仓库：https://github.com/crossbrowsertesting/node-pac-resolver

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：22.8 kB，15 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：5 个
- 首次发布：2019-09-24T14:49:15.456Z
- 最新版本发布：2021-04-14T17:29:54.577Z
- 近 30 天下载量：3880（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

从 PAC 文件生成同步解析器函数

## 安装

```sh
npm install @crossbrowsertesting/pac-resolver
```

也可以使用：`pnpm add @crossbrowsertesting/pac-resolver`、`yarn add @crossbrowsertesting/pac-resolver`、`bun add @crossbrowsertesting/pac-resolver`

## README

# 解析器

### 从一个 [PAC 文件](http://wikipedia.org/wiki/Proxy_auto-config)

[![Build Status](https://travis-ci.org/TooTallNate/node-pac-resolver.svg?branch=master)](https://travis-ci.org/TooTallNate/node-pac-resolver)

此模块接受一个 JavaScript 字符串代码, 意思是是一个 [PAC 代理文件](http://wikipedia.org/wiki/Proxy_auto-config),并返回生成的同步 `FindProxyForURL()` 函数.

## 安装

安装方式 `npm`数字 :

```bash
$ npm install pac-resolver
```

## 示例

鉴于 PAC 代理文件已命名 `proxy.pac`数字 :

```js
function FindProxyForURL(url, host) {
  if (isInNet(myIpAddress(), "10.1.10.0", "255.255.255.0")) {
    return "PROXY 1.2.3.4:8080";
  } else {
    return "DIRECT";
  }
}
```

您可以使用 PAC 文件 `pac-resolver` 像这样:

```js
var fs = require('fs');
var pac = require('pac-resolver');

var FindProxyForURL = pac(fs.readFileSync('proxy.pac'));

FindProxyForURL('http://foo.com/').then((res) => {
  console.log(res);
  // "DIRECT"
});
```

## API 密码

### pace( string jsStr \[, 对象选项\] ) — 函数

返回一个同步 `FindProxyForURL()` 基于特定联合来文的功能 字符串 `jsStr` PAC代理文件. 可选 `options` 对象可以传递其中 尊重以下选项:

-   `filename` - 字符串 - 用于错误堆栈跟踪的文件名 。 默认为 `proxy.pac`。 。 。 .
-   `sandbox` - 对象 - 将函数映射到 JavaScript环境,JS代码将在那里被执行. 也就是说,如果你想 包含通用 `alert` 函数可以通过 `alert: console.log`用于 函数,您必须设置 `async = true` 函数属性 例如,JS代码将可以将功能援引为 同步.

## 许可证

(麻省理工学院的执照)

版权 (c) 2013 Nathan Rajlich <nathan@tootallnate.net>

特此免费准许任何人获得 该软件和相关文件文件的副本(第2条) “软件”,在软件中不受限制地处理,包括 不限制使用、复制、修改、合并、出版、, 软件的分发、分版和/或销售,以及 允许获得软件的人这样做,但须符合下列条件: 下述条件:

上述版权通知和本许可通知应为: 列入软件的所有副本或大部分.

软件是提供的"是", 没有任何的警告, ,包括但不受限制的 紧迫性,特别是目的和非目的的证明. 绝对不能让警察或警察 (B) 合同行动、合同或其他责任, 产生、退出或与 软件或软件的使用或其他交易.

## 常见问题

### @crossbrowsertesting/pac-resolver 是什么？

从 PAC 文件生成同步解析器函数

### 如何安装 @crossbrowsertesting/pac-resolver？

在项目目录运行 npm install @crossbrowsertesting/pac-resolver，或使用 pnpm add / yarn add / bun add。

### @crossbrowsertesting/pac-resolver 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/crossbrowsertesting\_\_pac-resolver 是否存在。

### @crossbrowsertesting/pac-resolver 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @crossbrowsertesting/pac-resolver 可以商用吗？

@crossbrowsertesting/pac-resolver 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @crossbrowsertesting/pac-resolver 的下载量有多少？

根据 npm 官方下载统计，@crossbrowsertesting/pac-resolver 在 2026/10/11 – 2026/11/09 这 30 天内被下载 3,880 次，日均约 129 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @crossbrowsertesting/pac-resolver 还在维护吗？

最新版本 3\.0\.2 发布于 2021/04/15（5 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/09/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

