doc: improve path.posix.normalize docs

Add section to path docs that explains that path.posix.normalize
does not replace Windows slashes with POSIX slashes because POSIX
does not recognize / as a valid path separator.

Fixes: https://github.com/nodejs/node/issues/12298
PR-URL: https://github.com/nodejs/node/pull/12700
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Cai <davidcai1993@yahoo.com>
pull/12661/merge
Steven Lehn 2017-04-27 11:22:03 -05:00 committed by Anna Henningsen
parent 152966dbb5
commit cbd6fde9a3
No known key found for this signature in database
GPG Key ID: D8B9F5AEAE84E4CF
1 changed files with 11 additions and 2 deletions

View File

@ -318,8 +318,9 @@ The `path.normalize()` method normalizes the given `path`, resolving `'..'` and
`'.'` segments.
When multiple, sequential path segment separation characters are found (e.g.
`/` on POSIX and `\` on Windows), they are replaced by a single instance of the
platform specific path segment separator. Trailing separators are preserved.
`/` on POSIX and either `\` or `/` on Windows), they are replaced by a single
instance of the platform specific path segment separator (`/` on POSIX and
`\` on Windows). Trailing separators are preserved.
If the `path` is a zero-length string, `'.'` is returned, representing the
current working directory.
@ -338,6 +339,14 @@ path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// Returns: 'C:\\temp\\foo\\'
```
Since Windows recognizes multiple path separators, both separators will be
replaced by instances of the Windows preferred separator (`\`):
```js
path.win32.normalize('C:////temp\\\\/\\/\\/foo/bar');
// Returns: 'C:\\temp\\foo\\bar'
```
A [`TypeError`][] is thrown if `path` is not a string.
## path.parse(path)