Денормализационный разделитель путей в Node.js под Windows

В Windows, path модуль Node.js создает все пути с обратным слэшем. Кажется, что он вызывает свою собственную функцию normalize(), когда вызываются другие функции (например, resolve()).

Есть ли способ де-нормализовать пути (с косой чертой) без явной замены по всему месту?

Я попытался установить path.sep = '/', но resolve() все еще создает пути с \\.

Ответ 1

Вы можете path.sep или path.parse разобрать путь, а затем присоединить его по своему усмотрению.

Ответ 2

У меня была эта проблема с Windows 10. Я разрешил ее с помощью этого script:

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