[解決済み] require("path").join を使って安全に URL を連結することはできますか?
2022-04-23 20:15:07
質問
これは安全に使用できますか?
require("path").join
を使用してURLを連結するなどの方法があります。
require("path").join("http://example.com", "ok");
//returns 'http://example.com/ok'
require("path").join("http://example.com/", "ok");
//returns 'http://example.com/ok'
もしそうでなければ、ifでいっぱいのコードを書かずにこれを行うには、どのような方法があるでしょうか?
どのように解決するのですか?
いいえ。
path.join()
は、URL と共に使用すると不正確な値を返します。
ということでしょうか?
new URL()
. からは
WHATWG URL 標準
:
new URL('/one', 'http://example.com/').href // 'http://example.com/one'
new URL('/two', 'http://example.com/one').href // 'http://example.com/two'
なお
url.resolve
は、現在では非推奨とされています。
ノードに関する文書
.
Andreasがコメントで正しく指摘しているように。
url.resolve
(また
非推奨
) は、問題がこの例のように単純である場合にのみ役立ちます。
url.parse
は、一貫して予測可能なフォーマットされたフィールドを返すので、この質問にも当てはまります。
URL
オブジェクトは、ifs"でいっぱいのコードの必要性を減らすことができます。しかし
new URL()
の置き換えでもあります。
url.parse
.
関連
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] PHPで完全なURLを取得する
-
[解決済み] FacebookやTwitterの新しいURLのシェバング/ハッシュバン(#!)は何のため?
-
[解決済み] async/await関数を並列に呼び出す
-
[解決済み] ExpressJS アプリケーションをどのように構成するか?
-
[解決済み] C#でURLのクエリ文字列を作成するには?
-
[解決済み] SQL ServerでGROUP BYを使って文字列を連結する方法とは?
-
[解決済み] PythonでURLを作成する際にパスのコンポーネントを結合する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リソースの読み込みに失敗しました: net::ERR_CONNECTION_REFUSED : Nodejs
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み] 非推奨パッケージに関するNPM警告メッセージ
-
[解決済み】Node.jsのホスト名/IPが証明書のaltnamesと一致しない。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み】AWS lambda function エラー - モジュール 'index' をインポートできません。エラー
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了