MES手机端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
liup a01a5aa773 提交修改 3 週之前
..
lib 提交修改 3 週之前
LICENSE 提交修改 3 週之前
README.md 提交修改 3 週之前
package.json 提交修改 3 週之前

README.md

phin logo


The ultra-lightweight Node.js HTTP client

Full documentation | GitHub | NPM

Simple Usage

const p = require('phin')

p('https://ethanent.me', (err, res) => {
	if (!err) console.log(res.body)
})

Install

npm install phin

Why phin?

phin is trusted by some really important projects. The hundreds of contributors at Less, for example, depend on phin as part of their development process.

Also, phin is super lightweight. Like 99.8% smaller than request lightweight. To compare to other libraries, see phin vs. the Competition.

phin became 33% lighter with release 2.7.0!

Quick Demos

Simple POST:

p({
	url: 'https://ethanent.me',
	method: 'POST',
	data: {
		hey: 'hi'
	}
})

Promisified:

const p = require('phin').promisified
;(async () => {
	const res = await p({
		url: 'https://ethanent.me'
	})

	console.log(res.body)
})()

Simple parsing of JSON:

// (In async function in this case.)

const res = await p({
	url: 'https://ethanent.me/name',
	parse: 'json'
})

console.log(res.body.first)

Documentation

See the phin documentation.

phin has util.promisify support. The promisified library can also be accessed with require('phin').promisified!

phin vs. the Competition

Request is over 6MB in size. phin is just 25KB in size.

phin is super lightweight, and it’s getting lighter all the time.

It contains all of the common HTTP client features included in competing libraries!

Package Size (KB) Dependencies
(Tree Count)
Size Comparison
(vs. phin)
request 4,446 53 444.6x
superagent 1,235 24 123.5x
got 664 44 66.4x
snekfetch 107 0 10.7x
phin 10 0 1x