aaac7fed
liuqimichale
add
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# node-portfinder [](https://travis-ci.org/indexzero/node-portfinder)
## Installation
``` bash
$ [sudo] npm install portfinder
```
## Usage
The `portfinder` module has a simple interface:
``` js
var portfinder = require('portfinder');
portfinder.getPort(function (err, port) {
//
// `port` is guaranteed to be a free port
// in this scope.
//
});
```
Or with promise (if Promise are supported) :
``` js
const portfinder = require('portfinder');
portfinder.getPortPromise()
.then((port) => {
//
// `port` is guaranteed to be a free port
// in this scope.
//
})
.catch((err) => {
//
// Could not get a free port, `err` contains the reason.
//
});
```
If `portfinder.getPortPromise()` is called on a Node version without Promise (<4), it will throw an Error unless [Bluebird](http://bluebirdjs.com/docs/getting-started.html) or any Promise pollyfill is used.
### Ports search scope
By default `portfinder` will start searching from `8000` and scan until maximum port number (`65535`) is reached.
You can change this globally by setting:
```js
portfinder.basePort = 3000; // default: 8000
portfinder.highestPort = 3333; // default: 65535
```
or by passing optional options object on each invocation:
```js
portfinder.getPort({
port: 3000, // minimum port
stopPort: 3333 // maximum port
}, callback);
```
## Run Tests
``` bash
$ npm test
```
#### Author: [Charlie Robbins][0]
#### Maintainer: [Erik Trom][1]
#### License: MIT/X11
[0]: http://nodejitsu.com
[1]: https://github.com/eriktrom
|