まくろぐ
更新: / 作成:

José F. Romaniello 氏 (jfromaniello) が公開している NPM パッケージの url-join を使うと、バラバラになった URL のパスをうまいこと結合してくれます。

url-join のインストール
$ npm install url-join
使用例
import urlJoin from 'url-join'

urlJoin('https://example.com', 'a', '/b/c'))        //=> https://example.com/a/b/c
urlJoin('https://example.com/', '/a', '/b/c/'))     //=> https://example.com/a/b/c/
urlJoin('https://example.com', '/foo', '?q=123'))   //=> https://example.com/foo?q=123
urlJoin('https://example.com', 'foo/', '/?q=123'))  //=> https://example.com/foo?q=123

URL の末尾にクエリ文字列 (?q=123) があるときは、パス部分の末尾の / は消されちゃうみたいですね。

☝️ path.join は URL 結合には使えない path モジュールの path.join は、ローカルファイルシステム用のパス結合関数なので、URL の結合には使ってはいけません。 例えば、Windows 環境ではバックスラッシュが使われてしまったりします。

関連記事

まくろぐ
サイトマップまくへのメッセージ