开源项目 request-promise-native
使用教程
1. 项目的目录结构及介绍
request-promise-native
是一个基于 request
库的 Promise 风格的 HTTP 请求库。其目录结构相对简单,主要包含以下几个部分:
request-promise-native/
├── lib/
│ ├── request-promise-core/
│ │ ├── configure.js
│ │ ├── errors.js
│ │ ├── index.js
│ │ └── ...
│ ├── request-promise-native.js
│ └── ...
├── test/
│ ├── request-promise-core/
│ │ ├── configure.test.js
│ │ ├── errors.test.js
│ │ ├── index.test.js
│ │ └── ...
│ ├── request-promise-native.test.js
│ └── ...
├── .gitignore
├── .npmignore
├── .travis.yml
├── LICENSE
├── package.json
├── README.md
└── ...
目录结构说明
- lib/: 包含项目的主要代码文件。
- request-promise-core/: 核心配置和错误处理文件。
- request-promise-native.js: 主文件,用于导出 Promise 风格的
request
库。
- test/: 包含项目的测试文件。
- request-promise-core/: 核心配置和错误处理的测试文件。
- request-promise-native.test.js: 主文件的测试。
- .gitignore: Git 忽略文件配置。
- .npmignore: npm 忽略文件配置。
- .travis.yml: Travis CI 配置文件。
- LICENSE: 项目许可证。
- package.json: 项目依赖和脚本配置。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
request-promise-native
的启动文件是 lib/request-promise-native.js
。这个文件主要负责导出 Promise 风格的 request
库,并进行必要的配置。
// lib/request-promise-native.js
'use strict';
const request = require('request');
const { RequestPromise } = require('request-promise-core/configure/request-promise-core');
module.exports = RequestPromise(request);
启动文件说明
- 引入依赖: 引入了
request
库和request-promise-core
的核心配置。 - 导出模块: 通过
RequestPromise
函数对request
库进行包装,使其支持 Promise 风格。
3. 项目的配置文件介绍
request-promise-native
的配置文件主要是 package.json
,其中包含了项目的依赖、脚本和其他元数据。
{
"name": "request-promise-native",
"version": "1.0.8",
"description": "The simplified HTTP request client 'request' with Promise support. Powered by native ES6 promises.",
"main": "lib/request-promise-native.js",
"scripts": {
"test": "mocha --require test/helper.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/request/request-promise-native.git"
},
"keywords": [
"xhr",
"http",
"https",
"request",
"promise",
"native"
],
"author": "Nicolai Kamenzky (https://github.com/analog-nico)",
"license": "ISC",
"bugs": {
"url": "https://github.com/request/request-promise-native/issues"
},
"homepage": "https://github.com/request/request-promise-native#readme",
"dependencies": {
"request-promise-core": "1.1.3",
"stealthy-require": "1.1.1"
},
"devDependencies": {
"chai": "4.2.0",
"mocha": "5.2.0"
}
}
配置文件说明
- name: