2014-07-07 9 views
9

W systemie Windows moduł Node.js generuje wszystkie ścieżki z odwrotnym ukośnikiem. Wygląda na to, że wywołuje on swoją własną funkcję normalize(), gdy wywoływane są inne funkcje (takie jak resolve()).Denormalizowanie separatora ścieżek w pliku Node.js w systemie Windows

Czy istnieje sposób na de-normalizacji ścieżek (z ukośnikiem), bez wyraźnej wymiany w całym miejscu?

Próbowałem ustawić path.sep = '/', ale resolve() nadal produkuje ścieżki z \\.

+0

nie wygląda tak jak jest to możliwe. Jaki jest twój przypadek użycia? Być może uda nam się wymyślić lepsze rozwiązanie, biorąc pod uwagę ogólny obraz sytuacji. –

+0

Przypadek użycia służy do uzyskania ścieżki zasobów względem innej ścieżki (strony). Tak więc wypadkowa ścieżka pojawiająca się w '

Odpowiedz

0

Możesz path.sep lub path.parse zdemontować ścieżkę, a następnie dołączyć do niej, jak chcesz.

+3

(ścieżka.delimiter jest do oddzielnych ścieżek (dwukropek w '/ usr/bin:/bin'). Masz na myśli sep.) – mrm

-1

miałem ten problem w systemie Windows 10. Postanowiłem go z tego skryptu:

var path = require('path'); 

path.join2 = path.join; 
path.sep = '/'; 
path.join = function(){ 
    var res = path.join2.apply({}, arguments); 
    res = res.replace(/\\/g, path.sep); 
    return res; 
} 
//rest of your code 
Powiązane problemy