José F. Romaniello 氏 (jfromaniello) が公開している NPM パッケージの url-join を使うと、バラバラになった URL のパスをうまいこと結合してくれます。
$ 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 環境ではバックスラッシュが使われてしまったりします。関連記事
- NPM パッケージを作るときの package.json ファイルの書き方に関してのメモ
- VS Code でビルドタスクやテストタスクを登録する (tasks.json)
- Azure Table Stroage を使ってみる: TableService を Promise 化して使いやすくする
- Azure Table Strage を使ってみる (4) Node.js からテーブル操作してみる
- チャットボット: 独自のミドルウェアを作成してログを記録する
- チャットボット: 独自のミドルウェアを作成して禁止ワードを拒否するようにする
- チャットボット: Bot Builder SDK の Dialog で会話の流れをデザインする (2) スタック管理