Вот прочитал
habrahabr.ru/post/232073 , а так-же по ссылкам с этого поста и так и не понял к чему такие сложности, чем плохо делать через элемент "a" :
var a=document.createElement('a');
a.href="//google.com:8888?q=1&w=2#id";
console.log(a.protocol,a.host,a.port,a.search,a.hash);
?
может эти библиотеки делают что-то такое что браузер сам не умеет ? для ноды есть к слову
nodejs.org/api/url.html