333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# locate-path [![Build Status](https://travis-ci.org/sindresorhus/locate-path.svg?branch=master)](https://travis-ci.org/sindresorhus/locate-path)
 
> Get the first path that exists on disk of multiple paths
 
 
## Install
 
```
$ npm install locate-path
```
 
 
## Usage
 
Here we find the first file that exists on disk, in array order.
 
```js
const locatePath = require('locate-path');
 
const files = [
    'unicorn.png',
    'rainbow.png', // Only this one actually exists on disk
    'pony.png'
];
 
(async () => {
    console(await locatePath(files));
    //=> 'rainbow'
})();
```
 
 
## API
 
### locatePath(input, [options])
 
Returns a `Promise` for the first path that exists or `undefined` if none exists.
 
#### input
 
Type: `Iterable<string>`
 
Paths to check.
 
#### options
 
Type: `Object`
 
##### concurrency
 
Type: `number`<br>
Default: `Infinity`<br>
Minimum: `1`
 
Number of concurrently pending promises.
 
##### preserveOrder
 
Type: `boolean`<br>
Default: `true`
 
Preserve `input` order when searching.
 
Disable this to improve performance if you don't care about the order.
 
##### cwd
 
Type: `string`<br>
Default: `process.cwd()`
 
Current working directory.
 
### locatePath.sync(input, [options])
 
Returns the first path that exists or `undefined` if none exists.
 
#### input
 
Type: `Iterable<string>`
 
Paths to check.
 
#### options
 
Type: `Object`
 
##### cwd
 
Same as above.
 
 
## Related
 
- [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists
 
 
## License
 
MIT © [Sindre Sorhus](https://sindresorhus.com)